Стратегия является портом эксперт-советника Tipu MACD EA с MQL4 на StockSharp. Торговля ведётся по одному инструменту с использованием сигналов индикатора MACD и включает функциональность, реализованную в оригинале:
Фильтрация по торговым часам с двумя настраиваемыми временными окнами.
Входы по пересечениям MACD с нулевой линией и сигнальной линией с настройкой периодов EMA и сдвига.
Автоматическое сопровождение позиции: тейк-профит, стоп-лосс, трейлинг и перевод в безубыток.
Ограничение максимально допустимого суммарного объёма позиции («Max Lots» из исходного кода).
Все сделки выполняются рыночными ордерами. Защитные уровни рассчитываются внутри стратегии и позиция закрывается, когда очередная свеча пробивает стоп-лосс или тейк-профит.
Логика торговли
Подписаться на выбранный тип свечей и рассчитывать индикатор MovingAverageConvergenceDivergenceSignal (линия MACD и сигнальная линия).
Читать значения MACD с учётом сдвига (MacdShift 0 — текущая свеча, 1 — предыдущая) и формировать сигналы пересечения:
Пересечение нулевой линии (опционально) — покупка при переходе MACD выше нуля, продажа при переходе ниже нуля.
Пересечение с сигнальной линией (опционально) — покупка при пересечении MACD выше сигнальной линии, продажа при пересечении ниже неё.
Перед открытием позиции убедиться, что текущий час попадает хотя бы в одно из торговых окон, если фильтр включён.
При сигнале на покупку:
Если хеджирование запрещено и открыта короткая позиция, при включённом CloseOnReverseSignal она закрывается; иначе вход пропускается.
Регистрируется рыночная покупка на меньший из объёмов: TradeVolume или остаток до лимита MaxPositionVolume.
Фиксируется средняя цена входа по лонгу и рассчитываются защитные уровни, если они активны.
При сигнале на продажу выполняются симметричные действия для шорта.
Пока позиция открыта:
На каждой завершённой свече проверяются защитные уровни, и при их пробое позиция закрывается.
При включенном трейлинге и проходе цены на TrailingPips + TrailingCushionPips стоп подтягивается на расстояние TrailingPips от цены.
При активном переводе в безубыток и достижении прибыли RiskFreePips стоп переносится в точку входа.
Параметры
Имя
Описание
CandleType
Тип свечей, используемый для расчётов MACD.
TradeVolume
Объём каждой рыночной заявки (в лотах).
MaxPositionVolume
Максимальный суммарный объём длинной или короткой позиции.
UseTimeFilter
Включение фильтра торговых часов.
Zone1StartHour, Zone1EndHour
Начало и конец первого торгового окна (часы, время площадки).
Zone2StartHour, Zone2EndHour
Начало и конец второго торгового окна.
FastPeriod, SlowPeriod, SignalPeriod
Периоды быстрой EMA, медленной EMA и сигнальной SMA для MACD.
MacdShift
0 — анализ текущей свечи, 1 — предыдущей (аналог параметра iShift в MQL).
UseZeroCross
Включение сигналов пересечения нулевой линии MACD.
UseSignalCross
Включение сигналов пересечения MACD и сигнальной линии.
AllowHedging
Разрешение удерживать разнонаправленные позиции без предварительного закрытия.
CloseOnReverseSignal
Закрытие противоположной позиции при появлении нового сигнала (при отключённом хеджировании).
UseTakeProfit, TakeProfitPips
Включение тейк-профита и его расстояние в пунктах.