Robot 1
Идея создания робота возникла в начале года.
Сначала требовалось взять самую простую модель и реализовать ее. Главной задачей было перевести логику торговли в код и выявить возможные проблемы.
Для логики была выбрана базовая модель торговли:
Это контр-трендовая модель, поэтому ожидать высокой доходности от такой модели не стоило. Основная цель — разработать алгоритмы для следующих элементов:
- Уровней ликвидности:
- Определение ликвидности разных ТФ на текущем ТФ.
- Определение приоритета уровней ликвидности.
- Определение времени жизни уровней ликвидности.
- Паттернов:
В результате был создан советник, который:
- Определяет, продлевает, отслеживает и завершает уровни ликвидности: 15M (для сессий), 1H, 4H, PDH/PDL.
- При наличии паттерна открывает сделку, устанавливая стоп за паттерн и тейк, равный риску.
- Отменяет вход:
- при аномальной свече 0 (на свече 1 записывается текущий ATR*2,5 и сравнивается с текущей свечой);
- внутренней свече после паттерна;
- если заявка не исполнилась.
- В случае resweep паттерна входит в пробой текущей свечи, устанавливая стоп за паттерн и тейк, равный двукратному риску.
- Отслеживает новости и запрещает торговлю перед выходом важных новостей.
- Торгует только в указанные временные диапазоны.
(указаны только общие пункты, без нюансов)
Все эти элементы понятны человеку, но их реализация оказалась интересной задачей.
Например, начальная точка применения паттерна может интерпретироваться роботом по-разному. Было занимательно наблюдать, какая свеча паттерна снимает ликвидность, как ликвидность 15M переходит в ликвидность 1H и так далее. Формализация паттернов — это отдельная история.
В итоге робот полностью готов к работе. Реализованная визуализация позволяет анализировать корректность входов по каждой сделке.
Пример графика представлен ниже:
Важно отметить, что робот реализован на языке MQL5, что позволяет быстро протестировать его на исторических данных. Также в Tester MT5 можно провести анализ по истории сделок.
После завершения разработки робота начался этап анализа.
Для этого я взял данные 2024 года по паре EURUSD.
Начальные параметры торговли были следующими: торговля с 01:00 до 15:59, использование всех уровней ликвидности и всех паттернов. Результат тестирования оказался неутешительным: за 366 сделок с риском в 1% робот показал доходность -30%.
Далее начался процесс фильтрации. Были проанализированы переменные: время входа (T), место входа (L) и паттерны (P) в различных интерпретациях. Основной задачей стало определение наиболее эффективного времени для лучших паттернов, возникающих в оптимальных местах.
В результате анализа были выявлены следующие закономерности:
- Паттерн RS оказался неэффективным: его суммарная доходность осталась отрицательной, несмотря на соотношение тейк-профита к стоп-лоссу 1:2.
- Лучшие точки интереса (POI): границы азиатской, лондонской сессий и утренней Нью-Йорк. Интересно, что все уровни 1H, 4H и PDH/PDL для данной модели неэффективны.
- Паттерны PPR и EC показали высокую эффективность. PB — редкий паттерн, который не оказывает значительного влияния на результат. Основной паттерн PPR (88%).
- Лучшее время для торговли: 2:00–4:00, 5:00–7:00, 10:00–13:00, 15:00–15:59. Это логично, так как контр-трендовая модель требует спокойного рынка. Указанные интервалы приходятся на периоды между "киллзонами" и обеденное время внутри торговых сессий. Время с 4:00 до 5:00 самое плохое.
Доходность всей системы по временным интервалам
Доходность для PPR по временным интервалам
Доходность для PPR по местам ликвидности
Для PPR все что ниже 50% не имеет смысла, поэтому стоит “-”.
Эти критерии позволили превратить изначально убыточную систему в прибыльную.
Итоговые показатели за 2024 год:
Однако график доходности оставляет желать лучшего: в течение 8 месяцев результаты колебались около нулевой отметки, и только с августа начался устойчивый рост.
Эту пилу доходности можно скорректировать в левой половине графика можно скорректировать. Поскольку WinRate является более важным показателем, теоретически возможно работать с тейк-профитом этих сделок и увеличить его. Анализ показывает, что это реально сделать до уровня 2. Однако при дальнейшем повышении тейка возрастает вероятность "недоходов" — ситуаций, когда цена не достигает целевого уровня.
Чтобы понять, имеет ли смысл двигаться в этом направлении, необходимо проанализировать данные за больший временной период. Если результат окажется около нулевой отметки, потребуется провести работу по увеличению прибыльности системы.
Однако анализ с 2019 года по настоящее время показал отрицательный результат (-50%).
Если вначале и был 0, то потом пошло все вниз. Данный тренд совпадает с 1Мес трендом в тот же период.
Вывод:
В данной торговой системе нечего оптимизировать.
Т.о. имея все наработки теперь переключаюсь на разработку трендового робота, на основании моей последней торговой модели MRM.