Блог им. Saro

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

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

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

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

★2
37 комментариев
в тслабе есть старый баг
выставление лимитки и сделка на одной свече идет не по цене лимитки, а по хаю(для продажи) или лою(для покупки)… что крайне завышает профит...

его легко можно увидеть просто сделав настройки алгоритма на как можно более частые сделки
avatar
Да, на одном баре я и стараюсь не ставить) 
avatar
какие-то чудовищно большие вероятности сбоев
avatar
SergeyJu, Да, естественно цифры завышены, но мы же стремимся проверить как будет в самых плохих сценариях. будет в реальности лучше — это приятнее чем если наоборот)
avatar
Все перечисленные «проблемы» решаются очень просто и успешно, если немного расширить само понятие «робот».
Добавьте надстройку, следящую за состоянием робота, за состоянием сети, инета, которая автоматически блокирует ненужные явления (задваивание ордеров на одном баре, например, или обрыв связи с сервером), и проблем не будет. Да, это выходит за рамки ЛУА (или того, на чем реализован робот). У меня такие сервисы реализованы на C#, опять же например. Итог: сам включается/выключается, «фильтрует базар» и поддерживает постоянное подключение, «постукивая» мне логами на почту или джаббер…
avatar
Eugene Bright, нее. тут немного другое. вы так информируете себя и решаете проблемы. а речь шла о том, что пока брокер идет на переподключение — он не способен исполнить заявку. 
avatar
ОК, расширю ответ: все неисполненные по каким-либо причинам ордера мой робот запоминает и при первой же возможности реализует. Сам! Я не влезаю в его работу, он сам решает проблему. Сам снимает, сам восстанавливает.
Главный закон моего робота: сигналы должны быть корректны и всегда исполнены на 100%.
avatar
Eugene Bright, ДА и именно об этом и речь. робот попытается исполнить но если цена сильно изменилась — либо он не исполнит сигнал, либо по цене хуже/лучше расчетной.) для этого и показан пример теста на случай не исполнения по расчетной цене)

avatar
Микаелян Саро, у меня робот ВСЕГДА  исполняет сигнал. Для того, чтобы ордер был реализован, в моем роботе предусмотрен алгоритм сопровождения ордера в торговой системе. Он перемещает ордер, изменяет цену, объем — всё, что нужно, лишь бы выполнить главное — реализовать сигнал на 100%.
Ну, а то, что цена на рынке не совпадает с какой-то «расчетной», — это просто может стать результатом, что расчет, выполненный до сего момента, оказался неверным в настоящий момент, и его нужно скорректировать с учетом «момента».
avatar
Саро, что можешь сказать о версии 2.1?
Есть ли смысл на неё переходить?
В чем разница кроме наличия циклов и развития коннекторов?
Да и циклы эти — сильно ли они нужны?

Извини, что не по теме, собирался спросить в скайпе, но думаю это интересно не только мне. На сайте и форуме пытался разобраться — там бардак неимоверный. Версию 2.0 уже даже скачивать не дают...
Можно ли установить/использовать одновременно 2.0 и 2.1?
avatar
VladMih, 2.0 скоро перестанет поддерживаться — только в этом разница. 2.1 работает быстрее чем 2.0
avatar
Микаелян Саро, люди пишут, что наоборот. Что 2.1 сильно тормознутей… Кому верить?
avatar
ch5oh, личному опыту) проверить не сложно.
avatar
Микаелян Саро, не сложно, но очень страшно. Как откатить с 2.0.40 на 2.0.39 понятно. Как откатывать с 2.1 обратно на 2.0 и что при этом потеряется мне неочевидно. =/
avatar
ch5oh, установи их параллельно. Так же есть резервные копии они не скрестятся. ну и 2.1 и 2.0 в разных местах для скачивания на сайте лежат)
avatar
Микаелян Саро, спасибо!
Совместимость по скриптам и индикаторам полная?
avatar
VladMih, индикаторы переделывались под 2.1 на форуме выкладывались. сейчас наоборот больши индикаторов которые работают в 2.1 но не работают в 2.0
avatar
В связи с затянувшимися глюками мультичартс, решил попробовать тслаб. Хорошо, что есть кому мне помочь. Скачал самую свежую версию, и тут же столкнулись с двумя, на мой взгляд, детскими ошибками:
1. В списке агентов бегунок не позволяет докрутить список до конца списка. Вплоть до невозможности запустить и настроить агента.
2. Менеджер заявок (или как он там называется) открылся с 5 или 6 раза.

Явно чисто интерфейсные моменты, которые имхо в принципе не должны встречаться в торговом софте. Я несколько озадачен.

Однако, на настройку и запуск реальной торговли с нуля на тслабе потрачено меньше часа. И кстати без квика! :) Для сравнения — мультичартс на новом компе я настраиваю полдня. А после перехода на 19 значные заявки пошла уже третья неделя :( И тут я не то что озадачен, я в полном шоке 

avatar

Носорог, по поводу бегунка и менеджера заявок, лучше в такие моменты в поддержку написать о проблеме. случай возможно уникальный, так как ранее не слышал о такой проблеме. ну точнее с менеджером заявок было дело ну с пол года назад.) 

а переход на 19значные — это да, беда была прям.

avatar
Носорог, это только начало
приготовь денежку на оплату глюков
avatar
vito333, глюки есть даже в экселе, Visual Studio и Windows. Даже не побоюсь этого слова в Linux попадаются… =(
avatar
ch5oh, только там за них не платишь
avatar
vito333, купил ноут — заплатил за Виндоуз. Или у Вас вообще весь софт пиратский?
avatar
vito333, я лет 20 как уж работаю it-директором. Поэтому прекрасно понимаю, что любая система требует сопровождения. Ибо чудес не бывает. Если найдете автомобиль, который — купил один раз и затрат больше не требуется — поделитесь, пожалуйста — давно такой ищу. Но жизнь всегда вносит коррективы :).

Ну и коль заговорили о деньгах. За 2 лицензии мультичарст я СРАЗУ отвалил больше 200 т.р. Это с максимальными скидками. Пишу не в критику, а для сравнения. Более того — мне это даже нравилось — заплатил и забыл. Лишь бы работало :(. Цену платежей за тслаб, надеюсь, вы знаете. И я в любой момент могу прекратить пользоваться продуктом и нести эти затраты. Здесь нет правильно или неправильно — каждый выбирает под свою ситуацию. Кстати, никакие доп.оплаты за устранение глюков в ТСЛабе мне лично не известны.
avatar
Носорог, просто я довольно долго сидел на ТСЛаб и за все его глюки там расплачиваешься своими деньгами, а глюков было — мама не горюй,  ситуация была одно время просто кошмар

возможно сейчас всё намного лучше, возможно это был период основного роста программы, но подход и отношение, я думаю, не сильно изменились

перейдя на МТ5 был поражён разницей в надёжности и безглючности
avatar

vito333, не сыпьте соль на сахар. :) Именно осознание суммы колоссальных для меня потерь от аналогичной ситуации, но уже с мультичарст и вынудило меня пойти на «революцию» — вывести 60% депо из связки  Открытие-Квик-Мультичарст и фактически не зная ТСлаб с помощью очень хорошего человека (торгующего на ТСЛабе уже несколько лет и не испытавшего ни одного значимого глюка, приведшего к финансовым потерям, тьфу-тьфу-тьфу) фактически за 4 дня от точки принятия решения запустить торговлю на связке Финам-Транзак-ТСлаб. Если Мультичартс еще неделю будет пилить «внезапное» (для них) изменение номера длины заявок, боюсь придется подумать и перевести и оставшиеся 40% депо. К этому моменту как раз изучу ТСЛаб хотя бы поверхностно, а то сейчас чувствую себя чукчей из анекдота («следи чтобы горел зеленый огонек и ничего не трогай» :))

Ладно, приятно было пообщаться. Пошел я искать причину, почему очередная торговая система не дает молока :)

Удачной Вам торговли и отсутствие глюков софта!

avatar
Носорог, Удачи! Кто предупрежден, тот вооружен
avatar

Носорог, у меня в 2.0 список агентов докручивает до конца.

 

В качестве пожарного варианта можно на столбец "Имя агента" накладывать фильтры и уменьшать таким образом количество отображаемой информации.

avatar
ch5oh, спасибо!

Пока вычислил, что это связано с настройками рабочего стола винды (масштабирование шрифтов 125%), но складывается ощущение что переключение на 100% проблему полностью не решает. Думаю, все же есть какой то багчик.
avatar
Носорог, ооо 125% да — было не мало тем с этим связанным… но не думал что кто то еще пользуется такими темами. попробую у себя — если будут спецэффекты, думаю устранят. 
avatar
Микаелян Саро, да я и не пользовался никогда в жизни. Но когда глюк с агентами всплыл полез искать везде, даже где ни разу не был :). Не знаю откуда на ноуте была это установка, причем я 2 дня назад снес и с нуля устанавливал винду.
avatar
 Саро, пользуясь случаем, хочу сказать ОГРОМНОЕ СПАСИБО за выложенные Вами обучающие ролики по тслаб. ОЧЕНЬ сильно помогают мне в вопросе пожарного перехода на тслаб. Жалею, что не изучил его раньше. 
avatar
VladMih, я именно о пользовтельских и говорил) ссылку в скайпе ок

avatar
«не исполнение сигналов» ПИШЕТСЯ слитно «неисполнение сигналов», уже от заголовка блевать хочется
avatar
NikGood, батенька, при текущем уровне контента в сети Интернет (включая специфику мобильных устройств) Вам перед посещением сети Интернет лучше не кушать часов 200 :).

P. S. Не напомните правила, по которым слово «пишется» пишется полностью заглавными буквами? :) 
avatar
NikGood, Спасибо — исправил. 
avatar

теги блога Микаелян Саро

....все тэги



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