В прошлой статье цикла мы попробовали сделать нашу первую маисовую лепешку для трех маленьких индейцев, и она получилась не совсем комом. Тем не менее, разработанная автоматическая система далека от совершенства и пока что не может использоваться в реальной торговле. В этой статье мы попробуем обнаружить и исправить некоторые недочеты системы.
Одна из важнейших проблем системы связана с тем, что формальное выполнение правил поиска индейцев-фракталов в ряде случаев некорректно определяет паттерн. Так, на рис. 1 формально выполнены все правила: каждая из точек 1, 2 и 3 является фракталом как минимум 2-го порядка и все они лежат на одной наклонной прямой. Однако данная комбинация не является паттерном 3 индейца, и при ручной торговле мы не сочли бы ее корректным сетапом.
Причина, почему данные точки, хотя и являются локальными минимумами и лежат на одной прямой, не образуют паттерн «3 индейца», заключается в том, что промежуток между точками 2 и 3 не содержит очевидного максимума, соизмеримого с максимумом между точками 1 и 2. Можно сказать, что фрактальность точек 2 и 3 скорее является случайным шумом, чем реально связана с рыночными разворотами.
Рис. 1
Поэтому нам необходимо предусмотреть дополнительный фильтр, который отбраковывал бы подобные сетапы. Простейший способ реализовать такой фильтр заключается в том, чтобы задать в виде константы минимальный диапазон колебания цен в интервале между точками 2 и 3. Другим дополнительным условием может быть увеличение количества баров между точками 2 и 3.
Добавим вышеуказанные условия к нашей системе и проведем повторное тестирование на истории, начиная с 1 января прошлого года до настоящего времени.
Тестирование производилось при следующих параметрах:
• Валютная пара – EURUSD,
• Начальный депозит – 10000 USD, фиксированный лот,
• Период – 1 час,
• Стоп-лосс (SL) – максимум или минимум третьего индейца. Если расстояние до него менее 30 пунктов, уровень стоп-лосса принудительно устанавливается в 30 пунктов,
• Тейк-профит (TP) – 60 пунктов,
• Если TP или SL не сработали в течение 12 часов, позиция закрывается принудительно
• Минимальный диапазон колебания цен между точками 2 и 3 – 50 пунктов,
• Минимальное количество баров между индейцами – 10.
Результаты работы советника можно видеть на рис. 2. Общая прибыль составила 8810 USD, прибыльность 1.6 при относительной просадке 13.54%. Математическое ожидание выигрыша 84.7.
Рис. 2
Попробуем теперь настроить систему на ловлю более сильных движений. С этой целью увеличим TP до 100 пунктов, а время принудительного закрытия позиции до 24 часов. Результаты работы советника при данных настройках можно увидеть на рис. 3. В этом случае прибыльность системы составляет 1.72, чистая прибыль 11129 USD, относительная просадка 19.17%, математическое ожидание выигрыша 120.97.
Рис. 3
Наконец, зададимся вопросом, в какой степени обосновано для всех сделок использовать одинаковые величины TP и SL? Волатильность рынка в разные периоды не одинакова, и потому имеет смысл планировать цели и назначать уровни стопов, опираясь на показатели волатильности. Например, на величину Average True Range (ATR).
Попробуем задать уровень SL равный величине ATR(10), а TP равный 5 ATR(10). Прочие параметры работы системы:
• Если TP или SL не сработали в течение 12 часов, позиция закрывается принудительно,
• Минимальный диапазон колебания цен между точками 2 и 3 – 50 пунктов,
• Минимальное количество баров между индейцами – 10.
Результаты работы системы в этом случае можно видеть на рис. 4. В целом результаты вполне положительны и не сильно отличаются от результатов предыдущих испытаний. Чистая прибыль составляет 10136 USD, прибыльность 1.64, относительная просадка 17.22%, математическое ожидание выигрыша 97.46.
Рис. 4
Можно сделать вывод, что динамическое назначение уровней TP и SL дает в целом неплохие результаты.
Продолжение следует…
Вадим Шумилов, к.т.н.,
a.k.a. DrShumiloff