Блог им. alpharomeo1545

Квик, андроид и импорт транзакций из файла.

Предистория:

По роду своей деятельности у меня нет возможности постоянно находиться у торгового
монитора и до недавнего времени использовал teamviewer в смартфоне, что не совсем удобно.
Задался целью сделать что-то попроще и понаглядней. В итоге смастерил програмулину под андроид,
которая выводит на экран смартфона любую таблицу из квик через  DDE-сервер плюс вычисляемые поля.
И вот я уже слежу за рынком на рыбалке ))

 

 Квик, андроид и импорт транзакций из файла.

В машине )))

 Квик, андроид и импорт транзакций из файла.

на совещании )))

 Квик, андроид и импорт транзакций из файла.

   … ))))

И все-бы  хорошо,  да только нарисовалась одна проблема — быстрый сдвиг активной
заявки в ту или другую сторону. Раньше я транзакции отправлял через Trans2QUIK.dll.
но потом отказался, т.к. на разных компах с разными ОС возникали проблемы.
Железобетонно работал импорт транзакций из файла, пока я не попал в следующую ситуацию:

Сформировав 2 строки транзакции

                -удалить старую заявку

                -выставить заявку с новой ценой

Получил результат- сработала и старая и новая заявка. Для отладки я разделил пакет
заявок на 2 части 1-удаление, 2- ожидание нажатия клавиши и выставление.
Клавишу нажимаю после сообщения о снятии заявок. Файл транзакций читается каждые 2 сек.
И вот бывают ситуации когда заявка не снимается 2 и более секунд как будто подвисает.
Мне непонятно – как получается, что транзакция с меньшим идентификатором(TRANS_ID)
выполняется позже следующей за ней заявкой.
Уважаемые коллеги трейдеры-программисты.
Подскажите, куда копать, может кто сталкивался с такой бедой.
Уж очень хочется добить программу до конца.

П.с. картинки вставил для удержания внимания т.к. пост довольно нудный.

232 | ★9
41 комментарий
Какие заявки, лимитные или стоп, и какой брокер?
avatar
лимитные Открытие и ВТБ

avatar
Насколько разобрался, trans_id в заявке это идентификатор, который задается в алго. При торговле руками всегда 0.
Сделано для того, чтобы робот отличал свои заявки от чужих.
avatar
Eldar Shaymardanov, посылаю такую последовательность
TRANS_ID=33;CLASSCODE=TQBR;ACTION=KILL_ORDER;ORDER_KEY=14380977616;FIRM_ID=;STATUS=0;TRANS_NAME=«Снятие заявки по номеру»;
TRANS_ID=34;CLASSCODE=TQBR;ACTION=Ввод заявки; Торговый счет = L01-00000F00; К/П = Купля; Тип = Лимитная; Тип по цене = По разным ценам; Тип по остатку = Поставить в очередь; Тип ввода значения цены = По цене; Режим = TQBR; Инструмент = MTSS; Цена = 216,3; Лоты = 1; Примечание = **003346; STATUS=0;TRANS_NAME=«Ввод заявки»;

бывают ситуации когда вторая транзакция срабатывает раньше первой.можете сказать почему?
avatar

Игорь Семенов, а что при этом пишется в .tro файл?

Скорее всего дело в том, что квик отправляет заявки на сервер почти одновременно, одну за другой, а там уж как они обработаются — зависит от сервера брокера.

Для надёжности проверить .tro файл на появление строки с подтверждением выполнения первой транзакции (по TRANS_ID) и уже после этого кидать вторую.

avatar
o|O, я сначала обрабатывал тро и трр но при подвисании более секунды м.б. какой нибудь стопосьем и ситуация описАна выше.А вот фраза
как они обработаются — зависит от сервера брокера.
меня заинтересовала
помнится было такое понятие — обработка входного потока
ориентированного на запись и поток. Похоже что ID существует только в визуализации брокера а на биржу кидается пачка записей… хотя записи обрабатываются последовательно)))
ну вроде бы картина вырисовывается
avatar

Игорь Семенов, Вообще у меня подозрение, что TRANS_ID существует только для квика :)

По ним он определяет, какие транзакции уже выполнялись.

Вот цитата из документации:

ЗАМЕЧАНИЕ: Перед первым чтением .tri-файла QUIK обращается к .tro-файлу и считывает обработанные заявки. Заявки, содержащиеся в .tro-файле считаются обработанными, и строки в .tri-файле с тем же параметром TRANS_ID игнорируются. Если внешняя программа при каждом запуске начинает нумеровать заявки сначала, то перед ее запуском необходимо удалить .tro-файл из рабочей директории.

avatar
o|O, ну теперь вроде картинка складывается — кидается на сервер биржи туева.уча а там на кого бог послал… правда есть еще такое понятие как проскальз-е )))
но это уже совсем другая история
спасибо за консалтинг
… а ларчик просто открывался…
avatar
Игорь Семенов, могу.
Потому, что общение с брокером и биржей идет не по одной транзакции, а пакетами раз в какое-то время. В этот пакет могут попасть сразу несколько транзакций. И от брокера на биржу уйти разбившись на другие пакеты и вторая транзакция может придти раньше. Транзакция выполнится первая та, которая первая придет на биржу.
Надо уточнять у брокера.
Я с этим столкнулся при обновлении стакана. Когда брокер высылает в терминал не каждое обновление, а изменения за 50 мсек. И они могут придти одной кучей.
Это конечно мои домыслы.
Вот у меня например функция OnOrder присылает одну и ту же информацию то 3, то 4 раза с одним статусом. В итоге с момента выполнения заявки и до обновления количество позиций по бумаге проходит какое-то время, за которое робот успевает подать еще несколько заявок. Пока пишу письмо в техподдержку квика.
avatar
есть более простое решение… Селим квик в облаке и обращаемся к нему откуда хотим с теле, планшета, мака, офиса, дома
avatar
Sergio Fedosoni, ух ты, а как так сделать?? Где прочитать и сколько стоит?
avatar
Karmanoff Fedya, 35 евро в мес
avatar
Sergio Fedosoni, а что бесплатных таких нет возможностей? есть же куча облаков бесплатных, с шифрованием. До 15 гб, остальное за бабки.Я правда только что об этом прочитал, поэтому не шарю. А компьютер обязательно при этом включён должен быть?
avatar
фотошопер ты таксе
avatar
Mr. Bean, Точно) 
Mr. Bean, первые 2 картинки да фотошоп.если так принципиально могу сделать оригинальные фотки в машине и скоро и на зимней рыбалке — но пост не об этом
avatar
Игорь Семенов, да лан сойдёт и так, всё равно все поняли))
avatar
Mr. Bean, ну слава Богу!
avatar
 хорошо в Москве когда скорость не критична.в провинции немного по-другому.это приложение протестировано на 0.5 мбит/сек т.е. может работать в глухих местах(рыбалка, дорога и т.д.) где teamviewer уже не тянет и помимо квика работает еще и робот который управляется со сверхтонкого клиента
avatar
… в купайле писал «комментарий» потом проверял в таблицах по коменту активна сработала или нет, по другому не знаю…
avatar
java, и да лучше сервер)
avatar
java, а чем лучше сервер(облако).у меня цель была еще и низкий бюджет — использую FTP

avatar
java, да я так и делаю через комментарий но проблема в том что если пару транзакций(см выше) разделить по времени = цена может улететь
avatar
Игорь Семенов, если вы пишете алгоритм то сначало надо проверить через комент в таблице исполненных а потом отсылать вторую

сервер в каком либо виде наежней по связи и по питанию имхо
avatar
java, ВРЕМЯ — см комент выше
по надежности согласен — хотя сервер приложений с данными могу запускать и на домашнем и на рабочем и на семейном компе)))
avatar
Игорь Семенов, можно сохранять число позиций в текстовый файл проверять и лишнее закрывать потом
 вы просили совета я вам попытался советовать
avatar
java, спасибо за совет — но без обид 
время критический фактор в том смысле что при закрытии лонговой позиции можно ненароком открыть шортовую, например вместо закрытия лонга по 100  сдвигаю цену на 100.5.если заявка на 100 не удалилась моей транзакцией АП и сработали 2 заявки.
avatar
метатрейдер уже есть ))))
avatar
netlink, хочу чтоб все было бесплатно или дешевле пива ))))

avatar
Домашний сервер и стандартный виндовый Ремоте-Десктоп вполне годно для планшета
avatar
Andres Supers,  и для смартфона
avatar
Оплачиваем vds или на свой комп делаем как удаленный рабочий стол, устанавливаем туда quik и все что нужно. На андроид или ipad ставим Приложение 2x rdp (бесплатно) и радуемся
Александр Александрович, это аналог teamviewer?
avatar
Нет, это подключение к удаленному рабочему столу. Я с смартфона или ай педагог подключаюсь и работаю как на пк. Самое главное, что не нужна большая скорость Мобильного инета
Александр Александрович, спасибо за инфу   на неделе опробую
avatar
Пожалуйста!
И да, от брокера на биржу идет обезличенная заявка, ID брокерским. Так что на биржу они могут попасть в не вашей последовательности.
avatar
Eldar Shaymardanov, спасибо.
avatar
в машине явно видно что фотошоп)))
avatar
Я никогда не писАл под андроид. Долго осваивать? За пару дней получится?
avatar
Зависит от того на чем делать.пару дней маловато будет для освоения
avatar

Читайте на SMART-LAB:
Фото
AUD/NZD: передышка перед следующим рывком вверх?
Кросс-курс AUD/NZD продолжает консолидироваться в области поддержки, сформированной между уровнями 1.1417 и 1.1444. Стоит также отметить, что по...
ДОМ.PФ секьюритизирует ипотечные кредиты ВТБ на 1 трлн рублей
ДОМ.РФ и ВТБ договорились секьюритизировать 1 трлн рублей ипотечных кредитов ВТБ на платформе ДОМ.РФ до конца 2030 года.  Таким образом, банк...
Фото
«Цена Зерна» и «Ренессанс страхование» запускают проект по финансированию и страхованию агротрейдинга
Платформа для торговли сельхозпродукцией «Цена Зерна» и «Ренессанс страхование» представляют пилотный проект, создающий новую модель привлечения...

теги блога Игорь Семенов

....все тэги



UPDONW
Новый дизайн