EMA WMA RSI — порт эксперта MetaTrader 4 «EMA WMA RSI» автора cmillion. В оригинале экспоненциальная и линейно-взвешенная средние строятся по ценам открытия свечей, а фильтрация направлений выполняется индикатором RSI, рассчитанным по тому же ряду. Реализация для StockSharp сохраняет эту логику, обрабатывает только завершённые свечи и воспроизводит опции управления позицией: принудительное закрытие противоположной позиции, защитные уровни в пунктах и гибкий трейлинг-стоп (фиксированное расстояние, ближайший фрактал или экстремумы свечей).
Стратегия работает с одним инструментом и таймфреймом, выбираемым параметром Candle Type. Все расстояния измеряются в пунктах MetaTrader, поэтому важно задать корректные Security.Step, Security.PriceStep и Security.StepPrice, чтобы преобразование в абсолютные цены выполнялось правильно.
Логика стратегии
Индикаторы
EMA — период задаётся параметром EMA Period, расчёт по ценам открытия.
WMA — период WMA Period, тоже по открытиям.
RSI — период RSI Period, источник данных — цены открытия.
Индикаторы обновляются при закрытии свечи. Для имитации «старта на новой свече» сохраняются значения EMA/WMA предыдущего бара и сравниваются с текущими.
Правила входа
Покупка
Текущее значение EMA ниже WMA, а на предыдущей свече EMA была выше WMA (нисходящее пересечение).
RSI превышает 50.
Если открыта короткая позиция, при включённом Close Counter Trades она закрывается; иначе сигнал игнорируется до выхода в ноль.
При выполнении условий отправляется рыночная заявка на покупку с фиксированным объёмом или рассчитанная по риску.
Продажа — зеркальные условия: EMA пересекает WMA снизу вверх, RSI ниже 50, и стратегия либо закрывает длинную позицию, либо пропускает сигнал.
Правила выхода
Базовая защита — Stop Loss (points) и Take Profit (points) переводятся в абсолютные цены через шаг. Нулевые значения отключают уровни.
Трейлинг-стоп
При Trailing Stop (points) > 0 стоп подтягивается на фиксированном расстоянии от последней цены закрытия (только в сторону уменьшения риска).
Если параметр равен нулю, используется адаптивный режим:
Trailing Source = CandleExtremes — поиск ближайших минимумов/максимумов прошлых свечей с буфером не менее пяти пунктов.
Trailing Source = Fractals — поиск подтверждённых фракталов Билла Уильямса (по две свечи по обе стороны) с тем же буфером.
Перенос стопа начинается только после выхода цены за точку входа, как и в MQL4-функции SlLastBar.
Закрытие позиции — если в пределах свечи достигнут трейлинг или тейк-профит, позиция закрывается рыночной заявкой, внутреннее состояние сбрасывается.
Управление объёмом
Fixed Volume задаёт жёсткий размер заявки (аналог параметра Lot).
При значении 0 активируется расчёт по риску: стратегия оценивает денежный риск на единицу объёма с помощью доступного защитного расстояния (стоп-лосс или активный трейлинг) и Security.StepPrice, затем применяет долю капитала Risk %. Если и объём, и процент равны нулю, сигнал игнорируется.
Параметры
Параметр
Описание
Значение по умолчанию
EMA Period
Период EMA по ценам открытия.
28
WMA Period
Период WMA по ценам открытия.
8
RSI Period
Период RSI.
14
Stop Loss (points)
Защитный стоп в пунктах. 0 — без стопа.
0
Take Profit (points)
Тейк-профит в пунктах. 0 — без цели.
500
Trailing Stop (points)
Фиксированное расстояние трейлинга; 0 включает адаптивный режим.