Микаелян Саро
Микаелян Саро личный блог
05 октября 2020, 10:01

Простой метод учесть неисполнение сигналов в работе робота

Приветствую всех!

Настолько давно не писал — что забыл свой пароль от смартлаба… каюсь виновен!

По существу. Часто в тестировании используют методы бек/форвард тест, иногда устраивают стресс тест, на хаотичных котировках, но в данном примере хотелось показать как смоделировать ситуацию, когда в алгоритме все хорошо, но по той или иной причине нашу заявку не исполнили. Причин реально много может быть, опоздали с выставлением, проблемы с интернетом, проскальзование, сбой в работе биржи/брокера/софта и тд
Чтобы получить на истории такие сбои, достаточно к условиям торговли — добавить случайное событие, и в зависимости от логики алгоритма, задавать эту случайность. Например если вы торгуете по рынку то случайность событий возможна на максимум в 10% случаев. Если торгуете по уровням, с условными заявками — то в принципе в зависимости от проскальзования, так же будет 10-20% случайностей, но важно учитывать что уровни обычно сохраняются и если мы не открылись сейчас то можем по той же цене открыться позже, и на тесте ситуации не сильно исказятся. Торгуя против рынка лимитками некий скальпинг — можно смело ставить случайность в 80% случаев так как там сюрпризов намного больше и они чаще.
То есть нельзя унифицированно использовать одну какую то случайность под все алгоритмы, это важно понимать. Так же, кстати, случайное число генерируется тоже не так и случайно. потому при использовании рандома, обычно пользуются дополнительной настройкой генерации чисел, с помощью которой можно посмотреть немного разные случайности.
Если есть вопросы пожелания пишите)) 
П.С. канал в телеграмме если нужно онлайн общение https://t.me/msvTslab

37 Комментариев
  • ves2010
    05 октября 2020, 10:15
    в тслабе есть старый баг
    выставление лимитки и сделка на одной свече идет не по цене лимитки, а по хаю(для продажи) или лою(для покупки)… что крайне завышает профит...

    его легко можно увидеть просто сделав настройки алгоритма на как можно более частые сделки
  • SergeyJu
    05 октября 2020, 10:47
    какие-то чудовищно большие вероятности сбоев
  • Eugene Bright
    05 октября 2020, 11:48
    Все перечисленные «проблемы» решаются очень просто и успешно, если немного расширить само понятие «робот».
    Добавьте надстройку, следящую за состоянием робота, за состоянием сети, инета, которая автоматически блокирует ненужные явления (задваивание ордеров на одном баре, например, или обрыв связи с сервером), и проблем не будет. Да, это выходит за рамки ЛУА (или того, на чем реализован робот). У меня такие сервисы реализованы на C#, опять же например. Итог: сам включается/выключается, «фильтрует базар» и поддерживает постоянное подключение, «постукивая» мне логами на почту или джаббер…

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

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