Как я тестирую торговые гипотезы на золоте до того, как написать хоть строчку кода EA

Как я тестирую торговые гипотезы на золоте до того, как написать хоть строчку кода EA

13 июля 2026, 05:38
Vladyslav Zheltukha
0
9

Коротко о методологии, дальше — два реальных примера из недавней работы: одна гипотеза убита, вторая закрыта чисто на большой выборке, и одна интересная побочная находка.

Зачем диагностический скрипт вместо сразу полного EA

Прежде чем тратить дни или недели на полноценного советника, я пишу маленький диагностический скрипт с одной задачей: найти конкретный исторический паттерн и замерить forward-return после него. Никакой торговой логики, никакого мани-менеджмента, никакого исполнения ордеров — просто "есть ли у этого паттерна вообще статистические ноги". Пишется быстрее, гоняется быстрее, и плохая идея умирает за вечер, а не после недели написания полноценного EA вокруг неё.

Два примера из недавнего тестирования гипотез на золоте (XAUUSD).

Гипотеза 1: разворот после liquidity sweep

Идея: цена "сметает" хай/лоу азиатской сессии на Лондонском открытии, затем закрывается обратно внутрь диапазона — трактуется как ложный пробой с последующим разворотом.

Методологическая заметка, которая может сэкономить кому-то время: изначально у брокера оказалось доступно только ~3 месяца M1-истории (запрашивал 2 года, брокер столько не хранит). Вместо того чтобы мириться с крошечной выборкой, добавил в тот же скрипт вторую независимую пару сессий — London range (8-12), сметаемый на NY-открытии (12-16) — это примерно удвоило число событий в том же календарном окне и дало встроенную кросс-валидацию: если механизм реален, он должен проявляться на обоих переходах сессий, а не только на одном.

Результаты (движение в USD в предсказанном направлении разворота, обе пары):

Горизонт Pair 1 (Asian→London) WR / avg Pair 2 (London→NY) WR / avg
15м 58.8% / +$0.40 43.8% / -$1.55
60м 35.3% / -$2.53 53.1% / +$0.91*
240м 23.5% / -$6.02 43.8% / -$8.14
1440м 41.2% / -$13.33 46.9% / -$5.18

*почти целиком за счёт одной сделки-выброса

На 15м/60м пары спорят друг с другом (если бы механизм был реальным — не должны бы). А там, где они наконец соглашаются — 240м и 1440м — они соглашаются в том, что предсказанное направление разворота устойчиво проигрывает. Чистое убийство гипотезы разворота.

Интересный побочный эффект: раз направление разворота проигрывает после часа, то направление продолжения (простой трендовый вход после sweep, без нарратива про разворот) показывает реальный перекос — WR 76.5% / 56.3% на двух парах на горизонте 240м. Любопытно, но механически это близко к обычной логике продолжения пробоя — если у вас уже есть трендовая система на этом инструменте, диверсификации это не добавит.

Гипотеза 2: mean-reversion внутри диапазона

Идея: в подтверждённом флэт-режиме (канал H1 + ADX-фильтр) касание края канала на M15 с подтверждением RSI и закрытием-отбоем должно вести к движению к противоположной стороне.

Первый прогон: всего 17 событий за ~20 месяцев M15-данных (глубина истории была в порядке — просто комбинация фильтров оказалась слишком строгой: одновременное совпадение ADX-флэт + касание + RSI-экстремум + подтверждённый отбой — редкость). Ослабил требование по RSI и чуть расширил зону касания, перезапустил: n=312.

Горизонт n WR avg move avg win avg loss
15м 312 46.8% -$0.14 +$2.60 -$2.55
60м 312 49.4% -$0.91 +$4.50 -$6.19
240м 312 50.3% -$1.52 +$7.97 -$11.14
1440м 312 46.2% -$5.79 +$21.93 -$29.55

WR около честной монеты на каждом горизонте, и отрицательное матожидание везде, потому что средний убыток стабильно больше среднего выигрыша — классическая ловушка mean-reversion: много мелких выигрышей у края диапазона, редкий крупный убыток, когда диапазон реально пробивается. Чистое, статистически весомое закрытие гипотезы.

Вывод

Ни одна из гипотез не пережила встречу с данными на этом инструменте за этот период — и, кстати, сам этот период (рост золота к ATH около $5600 в январе 2026, сейчас консолидация) — это выраженный трендовый макро-режим, который структурно наказывает mean-reversion подходы. Стоит перепроверить, если режим сменится; строить под это прямо сейчас смысла нет.

Если кто-то гоняет похожую диагностику перед тем как закладывать полноценный EA — welcome обсудить методологию в комментариях.