Guardian Grid MT5
- Эксперты
- Версия: 1.1
- Активации: 10
Guardian Grid
Многомодульный советник с сеточным сопровождением сделок для EURUSD H1. Логика версий для MetaTrader 4 и MetaTrader 5 одинакова; версия MT5 работает только на счёте с хеджированием.
Первый ордер открывается по сигналу одного из 18 модулей входа: девяти свечных моделей Price Action и девяти индикаторных правил. Если цена идёт против позиции, советник добирает корзину ордерами сетки с растущим лотом и закрывает её целиком по общей цели.
В панели советника настраиваются лот, сетка, цели выхода, время (в том числе часовой пояс сервера брокера), направление торговли, включение модулей и управление (закрыть все ордера, кнопка на графике, линии безубытка).
Советник проверен на EURUSD H1 на истории 2010–2026 годов с издержками реального счёта: своп BUY −6.74, SELL +1.43 пункта на лот за ночь, комиссия 5 USD за лот за круг. MT4 — тестер в режиме «Все тики» (качество моделирования 99.90 %), переменный спред, проскальзывание ±5 пунктов. MT5 — тестер на реальных тиках (Dukascopy).
Особенности:
18 модулей входа: Pin Bar, Engulfing, Full Engulfing, Marubozu, Doji, Morning / Evening Star, Gap, Rising Sun / Dark Cloud, Spinning Top, Trending, Keltner, DMI, CCI, RSI, Parabolic SAR, Stochastic, Bollinger Bands, Envelopes.
Выбор входа по приоритету модулей: если сигнал есть в обе стороны, открывается сторона модуля с более высоким приоритетом.
Сетка с растущим лотом: каждый следующий ордер больше предыдущего на прибавку — фиксированную или рассчитанную от баланса (автолот).
Расширение шага сетки с заданного ордера корзины (по умолчанию — 12 пипсов с 9-го ордера): длинный ход против позиции проходится меньшим числом ордеров.
Ордер сетки внутри бара (по умолчанию включено): с 9-го ордера корзины следующий ордер открывается на любом тике, как только цена прошла 15 пипсов, не дожидаясь нового бара. Первые ордера корзины ставятся на первом тике бара.
Фиксированный лот (по умолчанию: первый ордер 0.01, прибавка 0.02) или автолот — переключатель UseAutoLot.
Автолот: расчёт лота от баланса с ограничением первого лота, прибавки, лота одного ордера и (по желанию) баланса, от которого считается лот.
Свыше лимита лота на один ордер сетки (крупный ордер) открытие частями (включено по умолчанию): ордер сетки больше максимального лота одного ордера (MaxOrderLot, а если у брокера максимум меньше — максимума брокера) открывается несколькими ордерами, и пропорции лотов в корзине, а с ними цель и момент закрытия корзины, не зависят от размера баланса.
Три условия выхода: цель одиночного ордера (на каждом тике); общая цель корзины — по цене, без свопа (на первом тике бара; с заданного ордера корзины — пониженная цель, по умолчанию с 3-го ордера 1 пипс вместо 5); прибыль корзины в процентах от баланса — по умолчанию 25 %, эта прибыль считается со свопом и комиссией (на каждом тике).
Стоп по убытку корзины (по умолчанию включён): корзина закрывается, когда её убыток со свопом и комиссией достиг заданной доли баланса — по умолчанию 50 %; проверяется на каждом тике, после закрытия торговля продолжается.
Потиковый выход крупной сетки (по желанию): сетка от заданного числа ордеров закрывается на любом тике, как только цена вернулась к средней цене корзины без учета свопа (или ушла от неё на заданное число пипсов в прибыль без учета свопа).
Фильтры входа: направление рынка, режим рынка по ADX, окно часов по месяцам для модуля Trending (настраивается, отключается).
Часовой пояс брокера: все часы в настройках заданы по эталонному времени — GMT+2 зимой и GMT+3 летом по американскому графику (Нью-Йорк + 7 часов, 00:00 — закрытие Нью-Йорка). Советник сам переводит время сервера в эталонное по смещению сервера от GMT зимой и графику летнего времени брокера (по умолчанию GMT+2 с европейским переходом) и пересчитывает сдвиг при переходах на летнее время. Направление H4 для модулей Trending и Doji считается по 4-часовым блокам эталонного времени; пока истории для них мало (первые дни теста), берётся график H4 терминала.
Отложенный старт торговли в понедельник. В пятницу в заданное время (по умолчанию 23:50, перед закрытием рынка) — проверка корзины: в плюсе по цене закрывается без учета свопа, при просадке на шаг — новый ордер сетки; новых корзин до понедельника нет.
Выбор направления торговли: обе стороны, только BUY или только SELL.
Проверка счёта при запуске (строка «account check» в журнале): советники разрешены брокером на счёте — иначе на реальном счёте советник не запускается; включена ли автоторговля; режим торговли символа; маржа корзины из 21 ордера при текущем лоте — предупреждение, если при плавающем минусе 45 % баланса уровень маржи ниже 150%; плечо, уровень Stop Out и свопы — в журнал. В MT5 дополнительно: счёт с хеджированием (на неттинговом советник не запускается; в тестере работает одиночными ордерами без сетки), разрешены ли рыночные ордера по символу, лимит объёма символа, правило FIFO — при нём корзина закрывается от старых позиций к новым.
На первом тике реального счёта советник сверяет время сервера с настройками часового пояса и предупреждает о расхождении; в MT4 на первом тике проверяется и то, что торговля по символу открыта (при запуске в выходные рынок закрыт, ложной тревоги нет).
Проверка свободной маржи перед каждым ордером (у ордера сетки частями — перед каждой частью) и лимита брокера на число ордеров; повторное закрытие корзины, пока она не закроется полностью.
Торговая сессия брокера: пока торговля по символу закрыта (дневной перерыв, конец пятницы, вечер воскресенья), советник не отправляет ни новых ордеров, ни закрытий — всё проверяется на первом тике в сессии, а вместо отказов сервера в журнале одна строка за бар.
Повторяющиеся отказы (нет маржи, лимит ордеров) и ошибки отправки записываются в журнал.
Закрытие всех ордеров советника с остановкой торговли — входом в панели или кнопкой на графике (с подтверждением).
Закрытие по правилу FIFO (UseFIFOClose): корзина и «закрыть всё» закрываются от старых ордеров к новым — для брокеров с этим правилом; при false MT5 следует свойству счёта, а MT4 сам переходит на этот порядок после отказа брокера (ошибка 150).
Линии корзины на графике: безубыток (со свопом и комиссией), цель и потиковый выход (по цене).
Проверка параметров при запуске; запись в журнал модуля, открывшего первый ордер.
Рекомендации:
Символ и таймфрейм: EURUSD H1, обе стороны. На графике старше H1 — одиночные ордера без сетки.
Настройки для EURUSD H1 — по умолчанию: шаг 5 пипсов, с 9-го ордера — 12 пипсов и ордер внутри бара через 15 пипсов, цель 5 пипсов, с 3-го ордера — 1 пипс, торговое окно по брокеру, пятничная проверка в 23:50. Лот — фиксированный (первый ордер 0.01 и прибавка 0.02 на каждые 10 000 депозита) или автолот: UseAutoLot = true, LotStartDivisor = 10000, LotIncDivisor = 5000.
Часовой пояс: укажите время сервера вашего брокера (указано в спецификации или в «Обзоре рынка»): BrokerGMTWinter — смещение от GMT зимой, BrokerSummerTime — график летнего времени. Примеры: GMT+2 / +3 с европейским переходом — 2 и Europe (по умолчанию); Лондон — 0 и Europe; GMT+2 / +3 с американским переходом совпадает с эталоном — UseTimeShift можно выключить. Сдвиг работает на графиках M1 … H1; на старших графиках часы — время сервера.
Торговое окно — по торговой сессии EURUSD у вашего брокера (в тестах временя брокера 00:15–23:55).
Брокеры: ECN-брокеры, низкий спред и комиссия, плечо 1:500 на весь объём корзины. Многие брокеры снижают плечо при большом объёме открытых позиций (например, 1:200 свыше 2 млн USD, 1:100 свыше 7 млн USD), а также перед выходными и на новостях. В худший момент истории корзина весила около 4.4 лота на каждые 10 000 депозита, поэтому для счёта больше 40 000 сверьте маржу с таблицей брокера: ограничьте баланс для расчёта лота (EnableLotBalanceCap, LotBalanceCap) или увеличьте делители. Маржу корзины из 21 ордера советник пишет в журнал при запуске.
Только счёт с хеджированием.
Условия торговли: диапазонный рынок. Главный риск — долгое движение в одну сторону без откатов: корзина растёт, пока цена не вернётся. Защита — стоп по убытку корзины (EnableLossStop, по умолчанию 50 % баланса).
Стоп-лосса и тейк-профита на ордерах нет: корзину закрывает советник — по цели, по прибыли от баланса или по стопу убытка (по умолчанию минус 50 % баланса). Закрыть всё вручную — кнопкой на графике или входом CloseAllAndStop.
Цель корзины считается по цене, без свопа. Своп BUY по EURUSD отрицательный, поэтому корзина BUY, которая держится неделями, может закрыться по цели с небольшим убытком. Так задумано: ожидание, пока цена покроет ещё и своп, держит корзину дольше и повышает риск.
Минимальный депозит:
Консервативный риск (рекомендуется): 10 000 на каждые 0.01 первого лота и 5 000 на каждые 0.01 прибавки — фиксированный лот 0.01 / 0.02 на 10 000 или автолот LotStartDivisor = 10000, LotIncDivisor = 5000.
Высокий риск: 5 000 на каждые 0.01 первого лота и 2 500 на каждые 0.01 прибавки (LotStartDivisor = 5000, LotIncDivisor = 2500). Это та же сетка с вдвое большим лотом на каждый доллар депозита: в долларах сделки те же, в процентах доход и просадка вдвое больше. Стоп по убытку (по умолчанию 50 % баланса) при высоком риске срабатывает чаще: на истории просадка высокого риска в отдельные годы превышала 50 %.
Параметры:
Все включатели — true / false; режимы с несколькими значениями выбираются из списка: TradeDirection — both directions, BUY only, SELL only; BrokerSummerTime — no summer time, Europe, USA.
SetupName: название сета, показывается в первой строке панели, в журнале и на графике.
LOT
UseAutoLot: автолот — лот от баланса; false (по умолчанию) — фиксированный лот.
FixedFirstLot: фиксированный лот первого ордера (по умолчанию 0.01).
FixedLotIncrement: фиксированная прибавка — на сколько каждый следующий ордер сетки больше предыдущего (по умолчанию 0.02).
LotStartDivisor: автолот — сумма баланса на каждые 0.01 лота первого ордера.
StartLotMaxLimit: автолот — максимальный лот первого ордера.
LotIncDivisor: автолот — сумма баланса на каждые 0.01 лота, на которые следующий ордер сетки больше предыдущего.
IncLotMaxLimit: автолот — максимальная прибавка лота к следующему ордеру сетки.
MaxOrderLot: максимальный лот одного ордера.
SplitLotAboveMax: ордер сетки, лот которого больше максимума одного ордера (MaxOrderLot, а если у брокера максимум меньше — максимума брокера), открывается несколькими ордерами с одним комментарием: полные — по максимуму, последний — остаток. Для корзины это один ордер сетки: номер ордера, шаг, лот следующего ордера и выход считаются по нему целиком. Если выключено, лот ордера сетки обрезается до максимума, и с ростом баланса последние ордера крупной корзины получают меньшую долю, чем задумано лестницей: средняя цена корзины дальше от текущей, цель выше, и корзина закрывается позже, чем закрылась бы на меньшем балансе. Первый ордер не делится.
EnableLotBalanceCap: автолот — ограничить баланс, от которого считается лот.
LotBalanceCap: автолот — баланс для расчёта лота не выше этой суммы, если ограничение включено; например, если всё выше этой суммы выводится или брокер снижает плечо на большом объёме.
GRID
GridStepPips: шаг сетки — на сколько пипсов цена должна уйти против последнего ордера корзины, чтобы открылся следующий.
WideStepFromOrder: номер ордера корзины, начиная с которого шаг сетки шире; 0 — выключено, шаг везде GridStepPips.
WideStepPips: шаг сетки с этого ордера, в пипсах; например при WideStepFromOrder = 9 ордера 2–8 ставятся через GridStepPips, девятый и дальше — через WideStepPips.
MaxTrades: максимальное число ордеров в корзине.
MaxSlippagePoints: максимальное проскальзывание, в пунктах.
IntraBarKnee: открывать ордер сетки на любом тике, как только цена прошла шаг; false — только на первом тике бара.
IntraBarStepPips: шаг сетки внутри бара, в пипсах; 0 — как шаг сетки (GridStepPips или WideStepPips).
IntraBarFromOrder: номер ордера корзины, с которого действует IntraBarKnee (2 — со второго).
TickExitOn: потиковый выход крупной сетки внутри бара; false — сетка закрывается только на первом тике бара.
TickExitFromOrder: с какого ордера корзины действует потиковый выход, не меньше 2.
TickExitPips: на сколько пипсов цена должна уйти от средней цены корзины в прибыль; 0 — безубыток по цене.
EXIT
FirstOrderProfitPips: цель одиночного ордера, в пипсах; проверяется на каждом тике.
GridBasketProfitPips: цель сетки — прибыль корзины, приведённая к лоту первого ордера, в пипсах; проверяется на первом тике каждого бара.
UseLowerGridTarget: пониженная цель сетки с заданного ордера корзины; false — цель везде GridBasketProfitPips.
GridDeepFromOrder: номер ордера корзины, начиная с которого действует пониженная цель сетки, — 2 и больше; 0 — выключено.
GridDeepProfitPips: пониженная цель сетки с этого ордера, пипсов на лот первого ордера; например при GridDeepFromOrder = 3 корзина из двух ордеров закрывается по GridBasketProfitPips, из трёх и больше — по GridDeepProfitPips. Корзина, недобравшая цель на первом тике бара, ждёт следующего бара; пониженная цель уменьшает риск, что за этот час цена уйдёт в долгий ход против корзины.
EnableProfitSpike: закрывать корзину, когда её прибыль достигла заданной доли баланса.
ProfitSpikePct: порог прибыли корзины, % баланса.
EnableLossStop: закрывать корзину, когда её убыток (со свопом и комиссией) достиг заданной доли баланса; проверяется на каждом тике, после закрытия торговля продолжается; по умолчанию включено.
LossStopPct: порог убытка корзины, % баланса (по умолчанию 50).
UseFIFOClose: закрывать ордера корзины и все ордера кнопкой от старых к новым (правило FIFO); false — MT5 по свойству счёта, MT4 — как обычно, а после отказа брокера по правилу FIFO (ошибка 150) — от старых к новым.
TIME & DIRECTION
UseTimeShift: часы в настройках ниже — по эталонному времени (GMT+2 зимой / GMT+3 летом по американскому графику), советник переводит в него время сервера; false — часы считаются временем сервера как есть. Работает на графиках M1 … H1; на графике старше H1 сдвиг не действует (часы — время сервера, строка в журнале).
BrokerGMTWinter: время сервера брокера зимой — GMT плюс столько часов (например 2 для GMT+2, 0 для Лондона).
BrokerSummerTime: летнее время сервера брокера (+1 час): no summer time — нет; Europe — с последнего воскресенья марта до последнего воскресенья октября; USA — со второго воскресенья марта до первого воскресенья ноября.
UseTradingWindow: торговое окно дня — вне его советник не открывает и не закрывает ордера (торговая сессия брокера); выход и ордер сетки бара, начавшегося вне окна, проверяются на первом тике внутри окна.
TradingStartTime / TradingEndTime: начало и конец окна, ЧЧ:ММ (конец не входит), по эталонному времени (при UseTimeShift = false — по времени сервера); по умолчанию 00:15–23:55. Если начало позже конца — окно через полночь.
UseMondayDelay: отложенное начало торговли в понедельник — до времени старта нет новых входов и ордеров сетки, закрытие работает.
MondayStartTime: время старта в понедельник, ЧЧ:ММ.
UseFridayStop: проверка корзины в пятницу в заданное время, как на первом тике нового бара: корзина в плюсе по цене (сумма лот × пункты от цены открытия больше нуля, без свопа и комиссии) закрывается; иначе проверяется обычный выход сетки и, если цена ушла от последнего ордера на шаг сетки, открывается новый ордер сетки; с этого времени новые корзины не открываются до понедельника.
FridayStopTime: время проверки в пятницу, ЧЧ:ММ; по умолчанию 23:50 — за 10 минут до закрытия Нью-Йорка (24:00 эталонного времени). Ставится чуть раньше закрытия рынка инструмента у брокера.
TradeDirection: направление торговли — обе стороны, только BUY или только SELL.
UseTrendingHours: окно часов по месяцам для модуля Trending; false — Trending в любые часы.
TrendingHoursJan … TrendingHoursDec: окно Trending на каждый месяц в формате «с-до» (по эталонному времени; при UseTimeShift = false — по времени сервера); час конца не включается; «23-01» — через полночь, «00-24» — весь день, «-» — окна нет.
ENTRY MODULES (by priority)
UseTrending, UsePinBar, UseEngulfing, UseFullEngulfing, UseMarubozu, UseDoji, UseStar, UseGap, UseRisingSun, UseSpinningTop, UseKeltner, UseDMI, UseCCI, UseRSI, UsePSAR, UseStochastic, UseBollinger, UseEnvelopes: включить модуль входа.
CONTROL & CHART
CloseAllAndStop: закрыть все ордера советника (этот символ и Magic Number) и остановить торговлю, пока вход не вернут в false.
ShowCloseButton: кнопка «Close all EA orders» на графике: первое нажатие взводит её на 5 секунд, второе закрывает все ордера и останавливает торговлю, следующее — возобновляет; остановка сохраняется при перезапуске терминала; в тестере кнопка не работает.
ShowBasketLines: показывать на графике линии корзины: безубыток (цена, при которой результат со свопом и комиссией равен нулю), цель выхода и потиковый выход (по цене, без свопа).
OTHER
MagicNumber: магическое число ордеров советника.
LogEntryModule: писать в журнал, какой модуль открыл первый ордер.
Комментарии ордеров: GG_1 — первый ордер корзины, GG_2, GG_3… — ордера сетки; ордер сетки, открытый частями (SplitLotAboveMax), — несколько ордеров с одним комментарием.
