Grail Expert MA
Обзор
Grail Expert MA — это порт на StockSharp эксперта MetaTrader 4 _GrailExpertMAV1_0. Стратегия отслеживает обновление максимума или минимума в коридоре последних баров и входит только после отката обратно к заранее рассчитанному уровню. Направление сделок задаёт экспоненциальная средняя типичной цены: для открытия требуется, чтобы EMA прошла заданное количество пунктов между двумя последними закрытыми барами. Управление рисками повторяет оригинал — фиксированные стоп-лоссы и тейк-профиты в пунктах, а также запрет на новые заявки при наличии открытой позиции.
Логика стратегии
Трендовый фильтр по наклону EMA
- EMA рассчитывается от типичной цены ((High + Low + Close)/3) и обновляется на закрытии каждого бара.
- Разница между двумя последними значениями EMA должна превышать порог
EMA Slope (pips)(после перевода пунктов в цену согласно шагу цены инструмента). - Положительный наклон разрешает длинные сделки, отрицательный — короткие, отсутствие наклона блокирует открытие позиций.
Формирование диапазона пробоя
- Хранится максимум и минимум последних
Range Periodзавершённых баров. - Эти уровни образуют канал, высота которого используется для отсева «мелких» пробоев, не создающих достаточного пространства для отката.
Подготовка заявок
- При обновлении максимума вычисляется потенциальная длинная точка входа:
High - Breakout Buffer - Take Profitпунктов. - При обновлении минимума вычисляется потенциальная короткая точка входа:
Low + Breakout Buffer + Take Profitпунктов. - Как и в MQL-версии, расстояние между новым экстремумом и противоположной границей канала должно быть не меньше
2 * Breakout Buffer + Take Profit, иначе уровень сбрасывается.
Активация входа
- Рассчитанные уровни действуют до конца бара. Длинная позиция открывается, когда внутрибаравая минимальная цена касается уровня входа при положительном наклоне EMA.
- Короткая позиция открывается при достижении внутрибаравого максимума уровня входа при отрицательном наклоне EMA.
- Одновременно может существовать только одна позиция — при отправке рыночного ордера оба уровня входа очищаются, как и в оригинальном советнике.
Управление позицией
- Для длинной позиции стоп ставится на
Entry - Stop Lossпунктов, тейк — наEntry + Take Profitпунктов (ноль отключает соответствующий уровень). - Для короткой позиции уровни рассчитываются зеркально.
- Закрытие происходит, когда экстремумы свечи достигают стопа или тейка, что соответствует баровому приближению тиковой логики MQL.
Дополнительные ограничения
- Хранимые уровни входа очищаются, если после закрытия бара они выходят за пределы обновлённого диапазона.
- Все пунктовые расстояния автоматически адаптируются к шагу цены инструмента (для пятизначных форекс-символов один пункт = 10 тиков).
- Пока EMA не сформирована или диапазон не набрал достаточно истории, стратегия остаётся в режиме ожидания.
Параметры
- Order Volume — объём рыночных сделок в лотах/контрактах.
- Take Profit (pips) — расстояние до фиксации прибыли;
0отключает тейк. - Stop Loss (pips) — расстояние до защитного стопа;
0отключает стоп. - Range Period — число закрытых баров для расчёта канала пробоя.
- EMA Period — период экспоненциальной средней по типичной цене.
- EMA Slope (pips) — минимальный наклон EMA в пунктах между двумя последними барами.
- Breakout Buffer (pips) — дополнительный отступ от нового экстремума перед активацией отката.
- Candle Type — таймфрейм свечей (по умолчанию 1 час).
Особенности реализации
- Обрабатываются все обновления свечей, включая промежуточные состояния, чтобы приблизить поведение к внутрибаравому анализу оригинала.
- Значения EMA пересчитываются только на закрытии баров, что повторяет вызовы
iMAсо сдвигами 1 и 2 в MQL4. - Для отслеживания экстремумов используются ограниченные очереди без LINQ, что экономит ресурсы и сохраняет точность алгоритма.
- Python-реализация отсутствует: в пакет входит только версия на C#.