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