GapHunter EA

GapHunter EA — Торговый советник по гэпам для MT5

Описание

GapHunter EA — это автоматизированная торговая система для MetaTrader 5, специализирующаяся на торговле ценовыми гэпами на открытии рынка. Советник сравнивает цену закрытия предыдущего дня (D1 Close) с текущей ценой открытия сессии, и при обнаружении гэпа достаточного размера немедленно открывает позицию в направлении перекрытия гэпа (то есть ожидая возврата цены к уровню предыдущего закрытия).

Перекрытие гэпов — статистически подтверждённое рыночное явление: по данным исследований за 797 недель (2010–2025), гэпы выходного дня на основных форекс-парах перекрываются в 65–80% случаев, зачастую в течение первых нескольких часов торговой сессии.

Ключевой принцип: советник НЕ ждёт закрытия бара для определения гэпа. Обнаружение происходит на первом же тике с допустимым спредом после открытия сессии — это обеспечивает максимально быстрый вход.

Основные возможности

  • Мгновенное обнаружение гэпа — сравнение prevDayClose с текущим Bid/Ask на первом тике, без ожидания закрытия бара
  • Автоматическое определение сессии — читает торговые часы символа напрямую из спецификации MT5 через SymbolInfoSessionTrade , ручных настроек времени не требуется
  • Виртуальный безубыток (VBE) — перевод в безубыток хранится только в памяти, обходя ограничения брокера по стоп-уровням на малых расстояниях
  • Частичное закрытие — закрывает часть позиции при достижении заданного % пути до TP, фиксируя прибыль при сохранении открытой позиции
  • 4 режима Take Profit — перекрытие гэпа, фиксированные пункты, ATR, авто-уровень
  • 3 режима Stop Loss — без стопа, фиксированные пункты, ATR
  • Фильтр дня недели — все дни, только понедельник (гэп выходных), все кроме понедельника
  • Режим реинвеста — автоматическое масштабирование лота при росте свободной маржи
  • Авто-лот по % риска — рассчитывает лот исходя из расстояния до SL и риска в % от баланса
  • Проверка маржи — всегда проверяет доступную свободную маржу перед открытием, при нехватке пишет в лог и отменяет сделку
  • Универсальное определение filling mode — автоматически выбирает FOK, IOC или RETURN по спецификации брокера
  • Восстановление состояния без файлов — всё состояние хранится в памяти; после любого перезапуска (потеря связи, смена ТФ, перекомпиляция) советник восстанавливает контекст из данных терминала
  • Принудительное закрытие по расписанию — закрывает позицию в заданное серверное время
  • Одна сделка за сессию — гэп проверяется ровно один раз за сессию, повторных входов нет

Входные параметры

Set Info

Параметр По умолчанию Описание
SetInfo "" Произвольное описание текущего набора настроек. Только информационная строка — никакого влияния на логику торговли. Удобно для идентификации конфигураций на скриншотах и в отчётах.

Gap Settings (Параметры гэпа)

Параметр По умолчанию Описание
MinGapPoints 100 Минимальный размер гэпа в пунктах для открытия сделки. Гэпы меньше этого значения игнорируются как рыночный шум.
MaxSpreadPoints 20 Максимально допустимый спред в пунктах в момент входа. Если спред шире — советник ждёт следующего тика. Это единственная «пауза» в логике — никаких таймерных задержек.
GapWindowMinutes 120 Сколько минут после открытия сессии советник ещё будет рассматривать вход. Если спред остаётся широким дольше этого окна — сессия пропускается.
DayFilter DAY_ALL DAY_ALL — торговать гэпы в любой день. DAY_MONDAY_ONLY — только понедельник (гэп выходного дня; статистически наиболее высокий fill rate). DAY_SKIP_MONDAY — внутринедельные гэпы, понедельник пропускается.

Take Profit / Stop Loss

Параметр По умолчанию Описание
TPMode TP_GAP_FILL TP_GAP_FILL — TP-ордер на уровне prevDayClose + ручная проверка каждый тик как страховка. TP_FIXED_POINTS — фиксированное расстояние в пунктах. TP_ATR_RR — ATR × ATR_TP_Multiplier . TP_AUTO_LEVEL — ближайший свинг хай/лоу на AtrTimeframe ; при отсутствии уровня фолбэк на gap fill.
SLMode SL_ATR SL_NONE — без стоп-лосса (использовать совместно с VBE для защиты). SL_FIXED_POINTS — фиксированное расстояние. SL_ATR — ATR × ATR_SL_Multiplier .
TP_Points 150 Расстояние до TP в пунктах. Используется только при TPMode = TP_FIXED_POINTS .
SL_Points 75 Расстояние до SL в пунктах. Используется только при SLMode = SL_FIXED_POINTS .
AtrTimeframe PERIOD_D1 Таймфрейм для расчёта ATR и поиска авто-уровней.
ATR_Period 14 Период индикатора ATR.
ATR_TP_Multiplier 2.0 ATR умножается на этот коэффициент для получения расстояния до TP.
ATR_SL_Multiplier 1.0 ATR умножается на этот коэффициент для получения расстояния до SL.
AutoLevel_LookbackBars 100 Количество баров для поиска ближайшего свинг хай/лоу при режиме авто-TP.
AutoLevel_MinDistPts 20 Минимальное расстояние в пунктах от текущей цены до найденного уровня. Уровни ближе игнорируются.

Partial Close (Частичное закрытие)

Параметр По умолчанию Описание
UsePartialClose true Включить или выключить частичное закрытие.
PC_TriggerPct 50.0 При достижении этого % пути от входа до TP срабатывает частичное закрытие. Пример: вход 1.1000, TP 1.1100 → триггер на 50% = 1.1050.
PC_VolumePct 50.0 Процент от текущего объёма позиции для закрытия на уровне триггера. Пример: позиция 0.02 лота, 50% → закрыть 0.01, оставить 0.01. Остаток продолжает работу с VBE и основным TP. Срабатывает ровно один раз за сделку.

Virtual Breakeven (Виртуальный безубыток)

Параметр По умолчанию Описание
UseVirtualBE true Включить или выключить виртуальный безубыток.
VBE_ActivationPct 50.0 Процент пути от входа до TP, при достижении которого устанавливается уровень VBE. Может совпадать с PC_TriggerPct — частичное закрытие отработает первым, затем активируется VBE для остатка.
VBE_CompensationPoints 5.0 Пункты, прибавляемые (BUY) или вычитаемые (SELL) из цены входа для покрытия затрат на спред и комиссию. Установите: спред в пунктах + (комиссия за лот × 2) в пунктах. Пример: спред 2 пт + комиссия 1.5 пт × 2 = 5 пунктов.

Как работает VBE:

  • Физически SL не переносится. Советник хранит уровень безубытка в памяти.
  • BUY: уровень VBE = цена входа (Ask) + VBE_CompensationPoints × point — мониторинг по Bid
  • SELL: уровень VBE = цена входа (Bid) − VBE_CompensationPoints × point — мониторинг по Ask
  • Если цена возвращается к уровню VBE — советник закрывает позицию рыночным ордером.
  • После любого перезапуска советника VBE переинициализируется: советник ждёт повторного достижения порога активации, что безопаснее чем активировать VBE немедленно без знания текущего контекста.

Money Management (Управление капиталом)

Параметр По умолчанию Описание
LotSize 0.01 Фиксированный размер лота. Используется при UseAutoLot = false . Также является базовым лотом для масштабирования реинвеста.
UseAutoLot false Автоматический расчёт лота по % риска и расстоянию до SL. Требует SLMode ≠ SL_NONE .
RiskPercent 1.0 Риск на сделку в % от баланса счёта. Используется только при UseAutoLot = true .
UseReinvest false Режим реинвеста. Умножает лот на floor(СвободнаяМаржа / StartDeposit) .
StartDeposit 1000.0 Опорный размер свободной маржи. При удвоении свободной маржи лот удваивается. Множитель всегда ≥ 1 — лот не уменьшается ниже базового при просадке. Совместим с обоими режимами расчёта лота.

Session Close (Закрытие)

Параметр По умолчанию Описание
ForceCloseHour 22 Час серверного времени для принудительного закрытия позиции.
ForceCloseMinute 0 Минута серверного времени для принудительного закрытия.

System (Система)

Параметр По умолчанию Описание
MagicNumber 77701 Уникальный идентификатор позиций советника. Используйте разные значения при запуске нескольких копий. Также включается в комментарий к ордеру: "GapHunter v2.5 #77701" .
SlippagePoints 10 Максимально допустимое отклонение цены исполнения от запрошенной (проскальзывание) при открытии рыночного ордера. При торговле гэпами на открытии сессии (расширенный спред, пониженная ликвидность) рекомендуется 15–30 пунктов для основных пар.

Принцип работы — пошагово

  1. Открытие сессии — SymbolInfoSessionTrade определяет начало новой брокерской сессии для текущего символа и дня.
  2. Фильтр дня — если DayFilter исключает текущий день, сессия пропускается сразу.
  3. Проверка спреда — на первом тике со Спред ≤ MaxSpreadPoints советник переходит к следующему шагу. Никакого таймерного ожидания.
  4. Обнаружение гэпа — prevDayClose = D1 Close[1] сравнивается с текущим Bid (гэп вверх) или Ask (гэп вниз). Если гэп ≥ MinGapPoints — сделка открывается немедленно. Если гэпа нет — сессия помечается завершённой, повторных попыток нет.
  5. Управление позицией — советник мониторит открытую позицию на каждом тике:
    • Частичное закрытие срабатывает на PC_TriggerPct % пути
    • VBE активируется на VBE_ActivationPct % и закрывает при возврате цены к уровню БУ
    • Перекрытие гэпа (TP_GAP_FILL): ручное закрытие когда Bid/Ask достигает prevDayClose
  6. Принудительное закрытие — в ForceCloseHour:ForceCloseMinute все собственные позиции закрываются
  7. Новая сессия — состояние сбрасывается автоматически при открытии следующей сессии

Примеры настройки

Пример 1 — Консервативный (только понедельник, перекрытие гэпа, ATR SL, защита VBE)

DayFilter = DAY_MONDAY_ONLY MinGapPoints = 150 MaxSpreadPoints = 15 TPMode = TP_GAP_FILL SLMode = SL_ATR ATR_Period = 14 ATR_SL_Multiplier = 1.0 UseVirtualBE = true VBE_ActivationPct = 50 VBE_CompensationPoints = 5 UsePartialClose = true PC_TriggerPct = 50 PC_VolumePct = 50 LotSize = 0.01 ForceCloseHour = 22

Подходит для: EURUSD, GBPUSD, USDCHF в понедельник утром.

Пример 2 — Сбалансированный (все дни, ATR TP и SL, частичное закрытие)

DayFilter              = DAY_ALL
MinGapPoints           = 100
TPMode                 = TP_ATR_RR
ATR_TP_Multiplier      = 2.0
SLMode                 = SL_ATR
ATR_SL_Multiplier      = 1.0
UsePartialClose        = true
PC_TriggerPct          = 50
PC_VolumePct           = 50
UseVirtualBE           = true
VBE_ActivationPct      = 60
UseAutoLot             = true
RiskPercent            = 1.0

Пример 3 — Реинвест (растущий счёт)

LotSize = 0.01 UseReinvest = true StartDeposit = 500.0 // Свободная маржа $500 -> лот 0.01, $1000 -> лот 0.02, $1500 -> лот 0.03 и т.д.

Важные замечания

  • Советник рассчитан на работу одного экземпляра на одном графике. Для каждого инструмента используйте отдельный график.
  • Прикрепляйте советник к любому таймфрейму — для определения гэпа он всегда использует D1, независимо от ТФ графика.
  • После любого перезапуска (потеря связи, перекомпиляция, смена ТФ) советник автоматически восстанавливает своё состояние из открытых позиций терминала. Никакой записи в файлы.
  • Комментарий к ордеру имеет формат "GapHunter v2.5 #<MagicNumber>" — позиции легко идентифицировать в истории и отчётах.
  • Перед запуском убедитесь, что торговые часы символа настроены брокером корректно в спецификации MT5 — советник читает их автоматически.

Рекомендуемые инструменты (Форекс)

Приоритет Символы Причина
⭐⭐⭐⭐⭐ EURUSD, GBPUSD, USDCHF Наивысший fill rate (~75–80%), узкий спред
⭐⭐⭐⭐ USDJPY, AUDUSD Хороший fill rate, умеренная волатильность
⭐⭐⭐ USDCAD, NZDUSD, EURJPY Приемлемый fill rate, более широкие гэпы
⭐⭐ GBPJPY, XAUUSD Крупные гэпы, но менее предсказуемое перекрытие

Другие продукты этого автора
Индикатор "Время до закрытия свечи" (TimeToBarEnd) Этот технический индикатор предназначен для точного отслеживания времени до закрытия текущей свечи на графике. Он отображает обратный отсчет в формате минуты:секунды, что особенно полезно для внутридневных трейдеров и скальперов, которым важно знать точное время закрытия текущей свечи. Индикатор обновляется в режиме реального времени и позволяет гибко настроить его внешний вид. В настройках доступны: выбор расположения из четырех углов графика,
FREE
EAsyRightNow - Профессиональный торговый советник для ручной торговли с расширенным функционалом EAsyRightNow - это многофункциональный торговый советник для MetaTrader 4, предоставляющий из себя торговую Панель, с удобным пользовательским интерфейсом  и широкими возможностями управления торговыми позициями. Идеален для скальпинга, работает на всех таймфреймах.  Основные возможности  1. Режимы торговли - Одиночные ордера: Управление одной торговой позицией - Множественные ордера: Возможность
FREE
CandleMaster PRO Профессиональный торговый советник нового поколения CandleMaster Pro представляет собой уникальное решение в области автоматизированной торговли. Используя передовые технологии нейросетей, советник с высокой точностью определяет Японские свечные паттерны и совмещает контроль входа в рынок интегрированными техническими индикаторами. Этот торговый советник воплощает в себе многолетний опыт успешной торговли, преобразованный в точный математический алгоритм. Одним из важнейших пр
PositiveSwap Легкий, бесплатный скрипт на языке MQL4, который выводит на график, в виде простой таблицы, все торговые пары с положительным свопом и указывает направление (покупка или продажа). Скрипт автоматически просматривает все доступные торговые пары из окна "Обзор рынка". Поэтому, чтобы увидеть все возможные пары с положительным свопом, рекомендуется включить показ всех символов.  
FREE
NYSE Trading EA Торгуйте как институты: Профессиональное обнаружение и исполнение FVG «В то время, как розничные трейдеры гонятся за индикаторами, институты используют структуру рынка. Fair Value Gaps – это их след, который невозможно скрыть.» Что такое Fair Value Gaps и почему это работает? Институциональный след на графике Когда крупные игроки (банки, хедж-фонды, маркет-мейкеры) входят в рынок, они не могут сделать это незаметно. Их огромные объёмы создают дисбаланс ликвидности — ценовые ра
Фильтр:
Нет отзывов
Ответ на отзыв