asf-trade
asf-trade личный блог
21 декабря 2011, 12:20

Как ваш робот контролирует риски неверно выставленных брокером лимитов?

Я тут довольно сильно увлекся робототехникой, и мне вот интересно:

кто и каким образом контролирует риск выставления брокером «левого лимита» или позиций? Как ваш робот пережил сбой 19 декабря?


У меня роботы сами считают все, и если у них расходятся данные с лимитами полученными от брокера (не всегда косячит биржа — гораздо чаже брокер может выставить ересь) они сигналят об этом остановив работу.

А как у вас? Поделитесь опытом. :)
25 Комментариев
  • Werner Heisenberg
    21 декабря 2011, 12:36
    у меня все сделки пишет в файл и не привязан к счету… так что если неа счете глюк — ему реально ПОФИГ, даже не дернется, но есть риск — что он чего-то не запишет… по факту такого не было
  • vfreeman
    21 декабря 2011, 12:40
    а как ты поймешь что лимит левый? по своим сделкам? я в августе этого год попал очень сильно — заявки выставлялись, сделки проходили (менялась позиция по инструментам), а вот в таблице сделок не появлялись мои сделки. мой алгоритм не был на это расчитан — в итоге я набрал на весь депозит против рынка :)
    кстати перед этим брокер уведомил о «возможных технических проблемах с отображением информации в таблицах» — только мой робот не читал уведомления, а меня естественно не было возле терминала :)))
      • vfreeman
        21 декабря 2011, 14:20
        asf-trade, получилось, что у меня опыта не было :)
        кста, а с какой платформой работаешь?
  • Радик Мингазов
    21 декабря 2011, 12:42
    То же об этом задумался — как бы мой робот отреагировал на недавний глюк, посмотрел еще раз код. Робот ведет свой внутренни учет, все пишет в лог, торгует фиксированным количеством контрактов и данные брокера почти не смотрит. Ему это сбой по барабану:) Робот не скальпер — 2-4 сделки в день.
    • vfreeman
      21 декабря 2011, 12:46
      Радик Мингазов, «и данные брокера почти не смотрит» — вы явно что-то курите! а что является результатом открытия позиции? запулил заявку по рынку значит открылась позиция?
      • Радик Мингазов
        21 декабря 2011, 12:51
        vfreeman, сервер сразу же отвечает о результате обработки поданной заявки, она либо исполнена, либо не исполнена. Если исполнена — позиция открыта.
        • vfreeman
          21 декабря 2011, 12:57
          Радик Мингазов, это шутка? заявка может быть ЗАРЕГИСТРИРОВАНА, а потом может быть ИСПОЛНЕНА. а еще может ИЗМЕНИТЬСЯ позиция по инструменты. после исполнения в таблице может ПОЯВИТЬСЯ запись о сделке. это 4 состояния которые НЕОБХОДИМО отследить.
          • Сармин Алексей (escoman)
            21 декабря 2011, 13:00
            vfreeman, не нужно в случае позиционных роботов, которые делают 2-3 сделки в день. Проще визуально контролировать.

            Если робот делает сотни сделок, то там да. Нужен контроль более существенный.
            • vfreeman
              21 декабря 2011, 13:03
              escoman, у меня нет высокочастотных алгоритмов, но после этого сбоя я серьезно задумался :) а на счет визуального контроля — по закону Мерфи — тебя не будет возле терминала, когда нужно было быть :)
              • Сармин Алексей (escoman)
                21 декабря 2011, 13:05
                vfreeman, и что предлагаешь? в качестве альтернативы.
                • vfreeman
                  21 декабря 2011, 13:10
                  escoman, задача нетривиальная — для начала надо определить критерии, по которым можно вычислить что биржа левак гонит и как минимум не торговать. я пока решения не нашел.
                  • Сармин Алексей (escoman)
                    21 декабря 2011, 13:18
                    vfreeman, :) вот. именно в этом и дело!

                    А порой биржа не гонит, а просто тормозит. Открытые позиции в Квике обновляются с запаздыванием…

                    Вариантов масса. Иногда ещё и брокерское ПО глючит. Взять хотя бы тот же SmartCOM.
                    • vfreeman
                      21 декабря 2011, 13:23
                      escoman, повторю пост свой
                      «заявка может быть ЗАРЕГИСТРИРОВАНА, а потом может быть ИСПОЛНЕНА. а еще может ИЗМЕНИТЬСЯ позиция по инструменты. после исполнения в таблице может ПОЯВИТЬСЯ запись о сделке. это 4 состояния которые НЕОБХОДИМО отследить.»
                      если в алгоритме нет хотя бы этих 4-х состояний — это значит, что автор кода не попадал в неприятные ситуации :)
                      • vfreeman
                        21 декабря 2011, 13:26
                        vfreeman, причем это про торговлю ОДНИМ контрактом. а еще бывают ЧАСТИЧНО исполненные заявки :)))))
                        • Сармин Алексей (escoman)
                          21 декабря 2011, 13:35
                          vfreeman, ну в большинстве позиционных роботов заявки отправляются по рынку. :)

                          Кстати, тут ещё нужно не забывать про планки. :) Я думаю, в большинстве роботов частных трейдеров даже эта проблема не предусмотрена. :)
                        • Сармин Алексей (escoman)
                          21 декабря 2011, 13:47
                          vfreeman, кстати, помню такие баги были в Финамовском Квике.

                          Пришла цена вверх на планку. Квик выше планки не принимает заявки. Через некоторое время у других брокеров планку расширили, и уже цена пошла дальше, а в Финаме так и осталась планка висеть. :)) И висела ещё несколько минут. :))
                      • Сармин Алексей (escoman)
                        21 декабря 2011, 13:33
                        vfreeman, ну как вариант можно сделать, как у меня.

                        У нас в программе SAT один робот может запускать других роботов. Когда возникает сигнал, то робот-торговая-стратегия запускает робота-открывальщика-позиции. Робот-открывальщик создаёт заявку и отслеживает её исполнение на всех этапах. Потом возвращает результат роботу-торговцу — успешно или нет открылась позиция. У меня так сделан робот-открывальщик позиции лучшей ценой в стакане.
  • Anton Medvedev
    21 декабря 2011, 12:44
    позицию свою считает сам: анализирует какие сделки выставил, какие исполнились и т.п.
    • vfreeman
      21 декабря 2011, 12:47
      trade-research, опять же — а что является результатом открытия позиции?
      • Anton Medvedev
        21 декабря 2011, 13:41
        vfreeman, ответ процедуры SendAsync Плазы о том, что заявка исполнена полностью или частично.
  • Сармин Алексей (escoman)
    21 декабря 2011, 12:44
    Проблема в том, что на одном счёте могут быть запущены сразу два-три робота для выравнивания общего эквити.
    Поэтому тут уже не проконтроллируешь простым сравнением внутренней переменной и данных по позициям от брокера…
    • Сармин Алексей (escoman)
      21 декабря 2011, 12:58
      escoman, тут только контроллировать исполнение сделок. Изменение состояния заявки на «Исполнена».

      Сравнивать кол-во в роботе с кол-вом у брокера нельзя. Т.к. данные приходящие от брокера могут существенно запаздывать. Особенно в случае с Квиком.
  • Olenevod
    21 декабря 2011, 12:48
    Никак — стоит количество штук, акций, контрактов. В штуках.
    И всё.

    У меня иная проблема: умная голова и руки :))) ДВА РАЗА уже робот (на 1-2-3) фьючах делал 100% прибыль в тестовом режиме. И тут я умный такой влезал и возвращал все на место. Думал сделаю получше, робот тупой, ща выйдет, прибыль упустит… И делал. Два раза уже. со 100% прибыли до стартовой суммы возвращал :)))!
    Бля!!! не пускайте меня ничего делать руками! дайте замок металлический с ключом!

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

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