Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 37
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Советник «Nikkei 225 Gap Continuation»
Советник «Nikkei 225 Gap Continuation» — это обучающий советник для MetaTrader 5. Он анализирует разрыв при открытии сессии Nikkei 225 и ищет возможности для продолжения тренда после формирования начального ценового диапазона. Стратегия может обрабатывать как бычьи, так и медвежьи разрывы и использует сессионный VWAP в качестве дополнительного фильтра подтверждения.
Программа включает автоматическое определение размера позиции, защиту от спреда, частичную фиксацию прибыли, управление безубыточностью и безопасный выход по времени. Она поддерживает как счета с неттингом, так и с хеджированием. Все важные решения могут отображаться на графике и записываться в журнал советника для анализа.
Обзор стратегии
В начале каждого торгового дня советник рассчитывает фактическое расписание сессии spot-торговли. В автоматическом режиме японское стандартное время преобразуется в время сервера Darwinex с учётом перехода на летнее время. Для других брокеров также доступен ручной режим настройки времени сервера.
Советник получает цену закрытия предыдущей торговой сессии и сравнивает её с ценой открытия текущей сессии. Если абсолютный разрыв при открытии меньше заданного порогового значения, сигнал не формируется. Бычий разрыв может инициировать сигнал на ПОКУПКУ, а медвежий — на ПРОДАЖУ.
После открытия сессии советник строит диапазон открытия на основе одноминутных баров. Он также рассчитывает VWAP сессии, используя реальный объем, если он доступен, и тиковый объем в качестве запасного варианта. Сигнал отменяется, если более половины исходного разрыва при открытии заполняется до входа в рынок.

Рисунок 1. Процесс принятия решений, используемый советником.
Условия входа
Для сделки на ПОКУПКУ сессия должна открыться с соответствующим бычьим гэпом. Затем цена должна пробить максимум диапазона открытия и оставаться выше VWAP текущей сессии. Стоп-лосс размещается ниже минимума диапазона открытия с учётом опционального буфера стопа и минимального расстояния стопа, установленного брокером.
Для сделки на ПРОДАЖУ сессия должна открыться с соответствующим медвежьим гэпом. Цена должна пробить минимум диапазона открытия и оставаться ниже VWAP. Стоп-лосс размещается выше максимума диапазона открытия. В течение одного торгового дня допускается только один вход по стратегии.
- Бычий гэп: ПОКУПКА при прорыве выше диапазона открытия и VWAP.
- Медвежий гэп: ПРОДАЖА при прорыве ниже диапазона открытия и VWAP.
- Перед входом в сделку зазор должен оставаться заполненным менее чем на 50%.
- Спред должен пройти оба настроенных фильтра спреда.
- Прорыв должен произойти до истечения срока входа.

Рисунок 2. Пример установки на продолжение медвежьего гэпа с входом и выходом по позиции «ПРОДАЖА».
Управление рисками и позициями
По умолчанию размер позиции рассчитывается на основе собственного капитала счета, выбранного процента риска и ценового расстояния между точкой входа и стоп-лоссом. Советник вызывает функцию OrderCalcProfit, чтобы расчетный убыток на лот выражался в валюте счета. Это полезно для CFD на индексы, у которых стоимость тика и валюта котировок могут различаться у разных брокеров.
Вместо определения размера позиции на основе риска можно выбрать фиксированный размер лота. Рассчитанный объем всегда округляется в меньшую сторону до шага объема брокера и проверяется на соответствие минимальному и максимальному объему. Если минимальный лот брокера превысит допустимый риск, дневная настройка отменяется.
Когда цена достигает частичной цели, советник закрывает настроенный процент позиции. Затем он может переместить стоп-лосс на цену входа. Оставшаяся часть позиции управляется до достижения конечной цели, равной R-кратному, или закрывается до окончания торговой сессии.
Основные группы входных данных
| Группа параметров | Назначение |
|---|---|
| Торговая сессия | Режим времени сессии, часы торгов, продолжительность диапазона открытия, крайний срок входа и принудительный выход. |
| BUY — бычьи гэпы | Включает сигналы на покупку (BUY) и определяет минимальный бычий разрыв при открытии. |
| ПРОДАЖА — медвежьи гэпы | Включает сигналы на ПРОДАЖУ и определяет минимальный медвежий разрыв при открытии. |
| Общие фильтры сигналов | Источник данных по объему, максимальный спред, динамический фильтр «спред до стопа» и буфер стопа. |
| Риск «КУПИТЬ» / Риск «ПРОДАТЬ» | Отдельные настройки риска по капиталу и опциональное снижение риска для небольших медвежьих разрывов. |
| Объем и выходы | Фиксированные лоты, максимальное количество лотов, частичное закрытие позиции, R-кратные целевые уровни и управление безубыточностью. |
| Исполнение | Магическое число, проскальзывание, статус графика и параметры диагностического журнала. |
Пример кода: расчет разрыва при открытии
Гэп открытия измеряется в процентах от цены закрытия предыдущей сессии на спотовом рынке. Знак результата определяет, будет ли советник оценивать ветвь «КУПИТЬ» или «ПРОДАТЬ».
g_gap_percent=(g_session_open_px/g_previous_close-1.0)*100.0; double minimum_gap=(g_gap_percent>0.0 ? InpMinimumBuyGapPercent : InpMinimumSellGapPercent); if(MathAbs(g_gap_percent)<minimum_gap) { g_cancelled=true; return(false); }
Пример кода: прорыв и подтверждение по VWAP
Фильтр входа, зависящий от направления, требует, чтобы цена пробила соответствующую сторону диапазона открытия, оставаясь при этом на правильной стороне VWAP.
// BUY confirmation if(!(tick.bid>g_range_high && tick.bid>g_vwap)) return; // SELL confirmation if(!(tick.ask<g_range_low && tick.ask<g_vwap)) return;
Пример кода: объем с учетом риска
Запрошенный денежный риск делится на расчетный убыток на лот. Затем результат нормируется к шагу объема по инструменту и ограничивается опциональным параметром максимального количества лотов.
double risk_money=AccountInfoDouble(ACCOUNT_EQUITY)*risk_percent/100.0; if(OrderCalcProfit(order_type,_Symbol,1.0,entry,stop,calculated_profit)) loss_per_lot=MathAbs(calculated_profit); g_last_raw_volume=risk_money/loss_per_lot; if(InpMaxLots>0.0) g_last_raw_volume=MathMin(g_last_raw_volume,InpMaxLots); return(NormalizeVolumeDown(g_last_raw_volume));
Установка и использование
- Скопируйте файл MQ5 в каталог MQL5\Experts.
- Откройте файл в MetaEditor, запустите Styler и скомпилируйте его.
- Прикрепите советник к символу брокера, представляющему индекс Nikkei 225.
- Для предоставленной настройки по умолчанию используйте таймфрейм M5.
- Уточните спецификации контракта по символу и часы работы торговой сессии.
- Выберите автоматическое преобразование JST или настройте время сервера вручную.
- Проверьте параметры риска, объема, спреда и выхода.
- Включите алгоритмическую торговлю и протестируйте настройки в Тестере стратегий.
Рекомендации по выбору брокера и тестированию
Названия символов Nikkei 225, точность котировок, значения тиков, минимальный объем и торговые сессии различаются у разных брокеров. Автоматическое преобразование сессий по умолчанию было разработано для расписания сервера Darwinex. Пользователям других брокеров следует проверить настройки сессий вручную перед запуском теста.
Советник не допускает открытия новой позиции, если по тому же символу уже открыта другая позиция. Он сохраняет важные данные по управлению позициями в глобальных переменных терминала, что позволяет восстановить управление частичным закрытием и безубыточностью после повторного подключения или перезапуска терминала.
Результаты исторического тестирования зависят от качества данных, допущений о спредах, характеристик контрактов и определений торговых сессий. Результаты бэктеста не гарантируют будущую доходность. Данный исходный код предоставляется в образовательных и исследовательских целях, и каждый пользователь несет ответственность за его проверку в своих собственных торговых условиях.
Автор
Разработано Франсеском Жорди Маллолом Нолденом. Исходный код публикуется в качестве полного учебного примера стратегии открытия гэпа на основе сессии для MetaTrader 5.
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/75301
Draw On Liquidity + Kill Zone
Индикатор Draw On Liquidity (DOL) автоматически наносит эти ключевые уровни на ваш график и выделяет торговые окна с высокой вероятностью успеха в «зонах риска» торговой сессии. Благодаря широким возможностям настройки он обеспечивает наглядную, профессиональную и чрезвычайно информативную визуализацию, которая поможет вам принимать более взвешенные торговые решения.
BlueMoon
BlueMoon EA — это советник для платформы MT5, который сочетает в себе вход по методу «огибающей EMA» с адаптивным управлением корзиной, прогрессивным определением размера позиции, фильтрацией спредов, защитой от просадки и автоматическим восстановлением торговли для хеджируемых счетов.
Asian Session Breakout / BhanuCodeLab
Индикатор «Asian Session Breakout» определяет ценовой диапазон, сформировавшийся в ходе азиатской торговой сессии, и отслеживает поведение цены после завершения этой сессии. Значения «Asian High» и «Asian Low» остаются актуальными до конца торгового дня у брокера. Благодаря этому диапазон можно использовать в качестве зоны внутридневной поддержки и сопротивления во время европейской и американской сессий. На компактной панели инструментов отображаются текущие значения диапазона, настроенное время сессии, статус прорыва, метод подтверждения прорыва и таймфрейм подтверждения. Индикатор не открывает и не управляет сделками. Он предоставляет информацию о структуре рынка и прорывах для дискреционной торговли или разработки советников.
YURAZ_MCCH
Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.
