Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
CME Gap Tracker for Gold and Bitcoin: Open Gaps, Fill Rate and a Fade-Trade Test - индикатор для MetaTrader 5
- Просмотров:
- 68
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
CME Gap Tracker для золота и биткоина: открытые гэпы, коэффициент заполнения и тест стратегии «fade-trade»
Находит выходные гэпы CME на графиках золота и круглосуточного биткоина, сохраняет каждый незаполненный гэп на графике до тех пор, пока цена не вернется к нему, и показывает, как часто заполнялись гэпы, как быстро, как далеко сначала пробежала цена и какую прибыль принесла бы торговля на откате. Не перерисовывается, с буферами для советника.
Идея
«Гэпы CME всегда заполняются» — это фраза, которую можно услышать в любом чате по биткоину, а также во многих каналах, посвящённых золоту. Торговля фьючерсами CME прекращается в пятницу в 16:00 по чикагскому времени и возобновляется в воскресенье в 17:00. Все, что происходило на рынке в промежутке, отображается на графике фьючерсов в виде гэпа, и существует убеждение, что цена вернётся, чтобы его закрыть.
Прежде чем поверить в это, я хотел получить два ответа. Как часто этот разрыв действительно заполняется? И если он заполняется, можно ли заработать, торгуя в этом направлении, или цена сначала уходит в другую сторону и выбивает вас из рынка? Этот индикатор отвечает на оба вопроса прямо на вашем графике.
Что он делает
- Преобразует время закрытия CME в пятницу и открытия в воскресенье в время сервера вашего брокера с учетом правил перехода на летнее время в Чикаго и настроек часов вашего сервера.
- Берет цену на вашем графике в эти два момента. Разница между ними и является ценовым разрывом. Разрывы, меньшие чем InpMinGapPct (по умолчанию 0,30%), игнорируются.
- Отображает каждый гэп в виде прямоугольника и помечает его размером. Незаполненный гэп остается на графике, продлеваясь вправо, до тех пор, пока закрытый бар не вернется к цене закрытия пятницы. Затем прямоугольник становится серым, а метка показывает, сколько часов заняло заполнение.
- Помещает стрелку на свечу, на которой открылась CME: вверх для пробела вниз, вниз для пробела вверх, в направлении заполнения.
- Отображает панель отчёта за последние InpWeeksBack недель (по умолчанию 104).
На графике биткоина, торги по которому ведутся все выходные, нет видимого разрыва между последним баром пятницы и первым баром понедельника, поэтому обычный инструмент для определения выходного разрыва ничего не обнаруживает. Разрыв CME появляется только при сравнении цен в два момента времени на CME, что и делает данный индикатор. На рынке золота спотовый рынок также закрывается на выходные, поэтому разрыв CME и брокерский разрыв выходных — это практически одно и то же.
Следует четко понимать: индикатор использует цены графика, на котором он работает, а не цены фьючерсов. На графике спот-рынка или CFD вы увидите спотовое движение в течение выходных CME. Разрыв на реальном фьючерсном графике может немного отличаться, поскольку фьючерсы торгуются с премией или дисконтом по отношению к споту.
Что показывает панель
- Количество гэпов, разбитое на восходящие и нисходящие, а также количество выходных, когда размер гэпа был ниже минимального.
- Сколько разрывов закрылось, и какая доля закрылась в течение 24 часов и в течение 7 дней.
- Медиана времени заполнения и время, которое потребовалось для заполнения самых медленных 10 % разрывов.
- «Нагрев» перед заполнением: насколько далеко цена отклонилась от уровня заполнения, прежде чем вернулась, в кратных размера разрыва. «Нагрев» в 2,0x при разрыве в 1% означает, что цена сначала прошла ещё 2% в нежелательном направлении.
- Тест на торговлю на откатах: вход при открытии CME в направлении закрытия пятницы, стоп на расстоянии, равном InpStopGapMult, умноженному на размер разрыва в противоположном направлении, выход через InpMaxHoldDays дней, если ни один из уровней не был достигнут. Учитывается размах бара входа. Когда стоп и цель находятся внутри одного бара, учитывается стоп.
- Количество открытых гэпов в оцениваемом окне, а также ближайшие уровни открытого заполнения выше и ниже текущей цены (эти два показателя учитывают каждый гэп в загруженной истории).
Результаты для золота
XAUUSD H1, данные MetaQuotes-Demo, настройки по умолчанию, если не указано иное. Два окна перекрываются на несколько дней в конце декабря 2025 года.
| 2026 год, 38 недель до 18 сентября | 2026 г., 38 недель до 18 сентября | 2025 г., 52 недели до 31 декабря | 2025, 52 недели до 31 декабря | |
|---|---|---|---|---|
| Минимальный интервал | 0,30 % | 0,10 % | 0,30 % | 0,10 % |
| Разрывы (вверх/вниз) | 24 (10 / 14) | 33 (13 / 20) | 6 (2 / 4) | 19 (9 / 10) |
| Заполнено | 23 (96 %) | 32 (97 %) | 5 (83 %) | 18 (95 %) |
| Заполнено в течение 24 часов | 58 % | 67 | 50 % | 68 % |
| Заполнено в течение 7 дней | 83% | 85% | 50 % | 74 % |
| Среднее время заполнения вакансии | 7 ч | 3 ч | 3 ч | 3 ч |
| Среднее время нагрева перед заполнением | 2,18-кратный разрыв | 2,31-кратный разрыв | 2,16-кратный разрыв | 1,70-кратный разрыв |
| Сделки на падении, стоп 1-кратный разрыв | 24 | 33 | 6 | 19 |
| Процент выигрыша при торговле на снижение | 29,2 % | 27,3 % | 16,7 % | 26,3 % |
| Коэффициент прибыльности по стратегии «Fade» | 0,41 | 0,37 | 0,20 | 0,35 |
| Общая сумма ставок на отставание | -10,1R | -15,1R | -4,0R | -9,1R |
Таким образом, по отношению к золоту это утверждение в основном верно: заполняется от 83% до 97% разрывов. Проблема возникает при торговле. Среди заполненных разрывов медианный сначала пробегал в нежелательном направлении примерно в два раза больше своего собственного размера, поэтому большинство сделок на откат со стопом, равным размеру одного разрыва, оказались убыточными.
Я пробовал использовать более широкие стопы с минимальным значением 0,30%. Более широкий стоп приносит выигрыш чаще, но каждый убыток оказывается больше, и общий результат оставался отрицательным в обоих годах:
| Стоп-лосс | 2026 г. — доля выигрышных сделок | Итого за 2026 | PF за 2026 | Процент выигрышей в 2025 году | Общее количество в 2025 | PF за 2025 год |
|---|---|---|---|---|---|---|
| 1-кратный разрыв | 29,2 % | -10,1R | 0,41 | 16,7 % | -4,0R | 0,20 |
| 2-кратный разрыв | 45,8 % | -7,0R | 0,44 | 33,3 % | -3,0R | 0,25 |
| 3-кратный разрыв | 66,7 % | -2,0R | 0,72 | 50,0 % | -2,0R | 0,33 |
В 2025 году было всего 6 гэпов размером 0,30% и более, поэтому рассматривайте эту колонку как небольшую выборку. Вывод, который я из этого делаю, прост. В случае с золотом гэп — это хорошее место, где можно ожидать движения цены, но закрытие позиции при открытии рынка с фиксированным стопом не окупилось ни в одном из этих лет.
Некоторые гэпы заполняются очень долго. По состоянию на 18 сентября 2026 года один гэп по золоту 2025 года оставался открытым с уровнем заполнения 3201,00, что значительно ниже текущей цены.
Рис. 1. XAUUSD, график H1, конец января 2026 года: разрыв +0,43% заполнился за 106 часов, а разрыв -2,47% — за 32 часа
Рис. 2. Панель результатов для четырёх прогонов, приведённых в таблице
О биткойне
Я не смог протестировать это на Биткойне. У моего тестового брокера, MetaQuotes-Demo, нет круглосуточного рынка BTCUSD, только биткоин-ETF, торгующийся в часы работы Nasdaq. Алгоритм для круглосуточного графика такой же, как и для золота: цена на момент закрытия в пятницу и на момент открытия в воскресенье. Прежде чем полагаться на этот алгоритм для BTC, сверьте первые несколько разрывов с графиком фьючерсов CME и настройте параметры смещения сервера для вашего брокера.
Параметры
| Входные данные | По умолчанию | Функция |
|---|---|---|
| InpGMTWinter | 2 | Смещение сервера по отношению к GMT в зимний период, в часах |
| InpGMTSummer | 3 | Смещение сервера по отношению к GMT летом, в часах |
| InpServerDST | Европа | Правило перехода на летнее время для серверных часов (фиксированное, Европа или США) |
| InpMinGapPct | 0,30 | Минимальный размер разрыва, % от цены |
| InpWeeksBack | 104 | Количество недель в истории в оценочной таблице |
| InpDrawWeeks | 26 | Недели, в течение которых были заполнены пробелы (открытые пробелы всегда отображаются) |
| InpStopGapMult | 1,0 | Тест на затухание: остановка в виде кратного значения разрыва |
| InpMaxHoldDays | 5 | Тест на убыль: выход по истечении этого количества дней |
| InpShowPanel | true | Показать панель с результатами |
| InpPanelCorner | слева вверху | Угол панели |
| InpOpenGapColor | светло-оранжевый | Цвет незаполненных промежутков |
| InpFilledGapColor | Гинсборо | Цвет заполненных пробелов |
| InpAlertNewGap | true | Оповещение при появлении нового пробела |
| InpAlertFill | true | Оповещать о заполнении открытого разрыва |
| InpAlertPush | false | Также отправлять push-уведомления |
Настройки по умолчанию (GMT+2 зимой, GMT+3 летом, европейское правило) соответствуют MetaQuotes-Demo и многим другим брокерам MetaTrader. Если сервер вашего брокера работает по UTC круглый год, установите оба смещения равными 0, а правило — «фиксированное». Используйте таймфрейм H1 или ниже. На H4 и выше время CME попадает внутрь одного бара, и цены отображаются менее точно.
Использование в советнике
Гэп записывается на свече, на которой открылась CME, сразу же после открытия этой свечи, поэтому советник считывает его при сдвиге 0. Он использует только цену закрытия пятницы и цену открытия этой свечи, поэтому впоследствии значение никогда не меняется. Я проверил это с помощью тестового советника, который фиксировал каждый гэп по мере его появления, а в конце теста сравнил список с буферами индикатора: в 2026 году на рынке золота совпали все 24 гэпа из 24.
| Буфер | Содержимое |
|---|---|
| 0 | Гэп вниз (покупка на откате), значение — цена входа, в противном случае — EMPTY_VALUE |
| 1 | Гэп вверх (продажа на отскоке), тот же формат |
| 2 | Уровень заполнения (цена закрытия пятницы) на свече с гэпом |
| 3 | Стоп-приказ на тестировании разрыва на свече с разрывом |
| 4, 5 | Ближайшие уровни заполнения открытия выше и ниже каждого закрытого бара |
| 6–9 | Таблица результатов на последнем закрытом баре: закрытые сделки на откат, выигрыши, общий R, сумма убыточных R |
int handle; datetime lastBar = 0; int OnInit() { handle = iCustom(_Symbol, PERIOD_H1, "CMEGapTracker"); return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED); } void OnTick() { //--- пробел записывается на свече открытия CME сразу после открытия этой свечи datetime bar = iTime(_Symbol, PERIOD_H1, 0); if(bar == lastBar) return; lastBar = bar; double up[1], down[1], target[1], stop[1]; if(CopyBuffer(handle, 1, 0, 1, up) < 1 || CopyBuffer(handle, 0, 0, 1, down) < 1 || CopyBuffer(handle, 2, 0, 1, target) < 1 || CopyBuffer(handle, 3, 0, 1, stop) < 1) return; if(up[0] != EMPTY_VALUE) Print("Gap up, fill level ", target[0], ", fade stop ", stop[0]); if(down[0] != EMPTY_VALUE) Print("Gap down, fill level ", target[0], ", fade stop ", stop[0]); }
Буферы 4 и 5 удобны для другого типа советника, который использует открытые гэпы в качестве целей для сделок, открываемых по другим причинам. У индикатора намеренно нет групп входных данных, так как MQL5 считает каждую «группу входных данных» параметром iCustom(), и каждое значение после неё сдвигается на единицу.
Ограничения
Он работает с данными по барам, поэтому не может определить порядок событий внутри одного бара. Он использует цены вашего графика на момент времени CME, а не цены фьючерсов. Праздники в США, сокращающие рабочую неделю CME, не обрабатываются отдельно. В тесте «fade» учитывается спред бара входа, но не учитываются комиссия и проскальзывание, а открытие торгов в выходные дни — это именно тот момент, когда проскальзывание максимальное. Все приведенные выше цифры описывают прошлые гэпы на данных одного брокера.
Али Раджпут
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/77686
Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest
Советник типа «Turtle» для торговли золотом по стратегии прорыва. Он открывает позицию на покупку, когда бар на графике H4 закрывается выше максимума последних 20 баров в условиях восходящего тренда, со стопом в 2 ATR и целью в 2R. Результаты бэктеста на паре XAUUSD за период с января 2020 года по сентябрь 2026 года: +9 029,72 при стартовом капитале 10 000 и риске 1%, коэффициент прибыльности 1,77, максимальное падение 11,38%, прибыль за 6 из 7 лет.
NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias
Перемещаемая панель ручной торговли на графике с учетом тенденций на нескольких таймфреймах, подсказками по ATR для стоп-лосса и тейк-профита, скользящим стопом и функцией «КУПИТЬ/ПРОДАТЬ/ЗАКРЫТЬ ВСЁ» в один клик.
Разворот на исчерпании индикатора RSI — EURUSD
Эксперт-консультант с открытым исходным кодом для пары EURUSD, предназначенный для тестера стратегий MetaTrader 5, основанный на сигналах исчерпания RSI, выходах на основе ATR и фильтрации спредов с поправкой на волатильность.
EMA Cross Demo EA with ATR Stops
Небольшой демонстрационный советник: вход по пересечению быстрой и медленной EMA (оценка производится только по закрытым свечам, без перерисовки), стоп-лосс и тейк-профит на основе ATR, фильтр спреда, а также управление позициями, подходящее как для хеджирующих, так и для нетто-счетов. Включает эталонную реализацию на Python для тестирования на паритет. Это пример для демонстрации, а не торговая рекомендация — прилагаемая кривая капитала построена на основе синтетических данных и иллюстрирует метод, а не преимущество.