Игорь Семенов
Игорь Семенов личный блог
04 декабря 2015, 20:08

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

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

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

 

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

В машине )))

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

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

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

   … ))))

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

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

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

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

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

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


Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.

41 Комментарий
  • Karim
    04 декабря 2015, 20:23
    Какие заявки, лимитные или стоп, и какой брокер?
  • Eldar Shaymardanov
    04 декабря 2015, 21:07
    Насколько разобрался, trans_id в заявке это идентификатор, который задается в алго. При торговле руками всегда 0.
    Сделано для того, чтобы робот отличал свои заявки от чужих.
      • o|O
        04 декабря 2015, 23:24

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

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

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

          • o|O
            05 декабря 2015, 00:31

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

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

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

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

      • Eldar Shaymardanov
        05 декабря 2015, 06:52
        Игорь Семенов, могу.
        Потому, что общение с брокером и биржей идет не по одной транзакции, а пакетами раз в какое-то время. В этот пакет могут попасть сразу несколько транзакций. И от брокера на биржу уйти разбившись на другие пакеты и вторая транзакция может придти раньше. Транзакция выполнится первая та, которая первая придет на биржу.
        Надо уточнять у брокера.
        Я с этим столкнулся при обновлении стакана. Когда брокер высылает в терминал не каждое обновление, а изменения за 50 мсек. И они могут придти одной кучей.
        Это конечно мои домыслы.
        Вот у меня например функция OnOrder присылает одну и ту же информацию то 3, то 4 раза с одним статусом. В итоге с момента выполнения заявки и до обновления количество позиций по бумаге проходит какое-то время, за которое робот успевает подать еще несколько заявок. Пока пишу письмо в техподдержку квика.
  • Sergio Fedosoni
    04 декабря 2015, 21:16
    есть более простое решение… Селим квик в облаке и обращаемся к нему откуда хотим с теле, планшета, мака, офиса, дома
    • Karmanoff Fedya
      04 декабря 2015, 21:41
      Sergio Fedosoni, ух ты, а как так сделать?? Где прочитать и сколько стоит?
      • Sergio Fedosoni
        04 декабря 2015, 22:03
        Karmanoff Fedya, 35 евро в мес
        • Karmanoff Fedya
          05 декабря 2015, 08:47
          Sergio Fedosoni, а что бесплатных таких нет возможностей? есть же куча облаков бесплатных, с шифрованием. До 15 гб, остальное за бабки.Я правда только что об этом прочитал, поэтому не шарю. А компьютер обязательно при этом включён должен быть?
  • Mr. Bean
    04 декабря 2015, 21:30
    фотошопер ты таксе
    • Дмитрий Третьяков
      04 декабря 2015, 21:33
      Mr. Bean, Точно) 
      • Mr. Bean
        04 декабря 2015, 21:55
        Игорь Семенов, да лан сойдёт и так, всё равно все поняли))
  • java
    04 декабря 2015, 21:37
    … в купайле писал «комментарий» потом проверял в таблицах по коменту активна сработала или нет, по другому не знаю…
    • java
      04 декабря 2015, 21:39
      java, и да лучше сервер)
      • java
        04 декабря 2015, 22:08
        Игорь Семенов, если вы пишете алгоритм то сначало надо проверить через комент в таблице исполненных а потом отсылать вторую

        сервер в каком либо виде наежней по связи и по питанию имхо
          • java
            04 декабря 2015, 22:27
            Игорь Семенов, можно сохранять число позиций в текстовый файл проверять и лишнее закрывать потом
             вы просили совета я вам попытался советовать
  • netlink
    04 декабря 2015, 21:47
    метатрейдер уже есть ))))
  • Тирпиц. Das Boot.
    04 декабря 2015, 23:27
    Домашний сервер и стандартный виндовый Ремоте-Десктоп вполне годно для планшета
  • Оплачиваем vds или на свой комп делаем как удаленный рабочий стол, устанавливаем туда quik и все что нужно. На андроид или ipad ставим Приложение 2x rdp (бесплатно) и радуемся
  • Нет, это подключение к удаленному рабочему столу. Я с смартфона или ай педагог подключаюсь и работаю как на пк. Самое главное, что не нужна большая скорость Мобильного инета
  • Пожалуйста!
  • Eldar Shaymardanov
    05 декабря 2015, 06:57
    И да, от брокера на биржу идет обезличенная заявка, ID брокерским. Так что на биржу они могут попасть в не вашей последовательности.
  • Жук Скарабей
    05 декабря 2015, 09:12
    в машине явно видно что фотошоп)))
  • Йоганн
    05 декабря 2015, 16:36
    Я никогда не писАл под андроид. Долго осваивать? За пару дней получится?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн