Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Индикаторы

CME Gap Tracker for Gold and Bitcoin: Open Gaps, Fill Rate and a Fade-Trade Test - индикатор для MetaTrader 5

Ali Akbar
Ali Akbar
Hi, I'm Ali. 24 years old, trading for around 5 years, and developing MQL5/MQL4 tools. I mainly work on automating manual strategies, fixing broken EA logic, and building clean indicators. I care more about clean architecture and proper risk management than over-complicated code. Always down to talk
| Russian English 中文 Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Просмотров:
68
Рейтинг:
(1)
Опубликован:
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

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 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 NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias

Перемещаемая панель ручной торговли на графике с учетом тенденций на нескольких таймфреймах, подсказками по ATR для стоп-лосса и тейк-профита, скользящим стопом и функцией «КУПИТЬ/ПРОДАТЬ/ЗАКРЫТЬ ВСЁ» в один клик.

Разворот на исчерпании индикатора RSI — EURUSD Разворот на исчерпании индикатора RSI — EURUSD

Эксперт-консультант с открытым исходным кодом для пары EURUSD, предназначенный для тестера стратегий MetaTrader 5, основанный на сигналах исчерпания RSI, выходах на основе ATR и фильтрации спредов с поправкой на волатильность.

EMA Cross Demo EA with ATR Stops EMA Cross Demo EA with ATR Stops

Небольшой демонстрационный советник: вход по пересечению быстрой и медленной EMA (оценка производится только по закрытым свечам, без перерисовки), стоп-лосс и тейк-профит на основе ATR, фильтр спреда, а также управление позициями, подходящее как для хеджирующих, так и для нетто-счетов. Включает эталонную реализацию на Python для тестирования на паритет. Это пример для демонстрации, а не торговая рекомендация — прилагаемая кривая капитала построена на основе синтетических данных и иллюстрирует метод, а не преимущество.