Стратегия Expert RSI Stochastic MA
Обзор
Expert RSI Stochastic MA — перенос советника MetaTrader 5 Expert_RSI_Stochastic_MA.mq5 на инфраструктуру StockSharp. Стратегия сочетает трендовый фильтр на основе настраиваемой скользящей средней, подтверждение импульса через RSI и точку входа по двум линиям стохастика. Логика управления позицией повторяет оригинал: допускается ограниченный убыток и реализован скользящий стоп, который активируется по сигналу стохастика.
Индикаторы и параметры
Все параметры совпадают с MQL5-версией и имеют те же значения по умолчанию. Их можно оптимизировать средствами StockSharp.
| Категория | Параметр | Значение по умолчанию | Описание |
|---|---|---|---|
| Общее | CandleType |
Таймфрейм 15 минут | Тип свечей, который используется для расчётов. |
| Торговля | TradeVolume |
0.01 |
Базовый объём позиции (лоты/контракты). |
| RSI | RsiPeriod |
3 |
Количество свечей для расчёта RSI. |
| RSI | RsiPriceType |
Close | Источник цены для RSI (close, open, high, low, median, typical, weighted). |
| RSI | RsiUpperLevel |
80 |
Уровень перекупленности, инициирует короткие сигналы. |
| RSI | RsiLowerLevel |
20 |
Уровень перепроданности, инициирует длинные сигналы. |
| Стохастик | StochKPeriod |
6 |
Период линии %K. |
| Стохастик | StochDPeriod |
3 |
Период сглаживания линии %D. |
| Стохастик | StochSlowing |
3 |
Дополнительное сглаживание %K. |
| Стохастик | StochUpperLevel |
70 |
Уровень перекупленности для обеих линий. |
| Стохастик | StochLowerLevel |
30 |
Уровень перепроданности для обеих линий. |
| Скользящая средняя | MaMethod |
Simple | Тип средней (simple, exponential, smoothed, weighted). |
| Скользящая средняя | MaPriceType |
Close | Источник цены для средней. |
| Скользящая средняя | MaPeriod |
150 |
Длина скользящей средней. |
| Скользящая средняя | MaShift |
0 |
Сдвиг значения на указанное число завершённых баров. |
| Риск | AllowLossPoints |
30 |
Максимальный допустимый убыток в пунктах (0 — отключить). |
| Риск | TrailingStopPoints |
30 |
Размер стохастического трейлинг-стопа в пунктах (0 — закрывать по стохастику без трейлинга). |
Пересчёт пунктов. Значения
AllowLossPointsиTrailingStopPointsпереводятся в абсолютную цену черезSecurity.PriceStep. Для инструментов с 3 или 5 знаками после запятой используется множитель ×10, чтобы получить значение «пипса» как в MetaTrader.
Логика торговли
Условия для длинных позиций
- Тренд — цена закрытия выше сдвинутой скользящей средней.
- Импульс — RSI ниже
RsiLowerLevel. - Тайминг — линии стохастика %K и %D ниже
StochLowerLevel. - Позиция — новые покупки разрешены только при отсутствии лонгов (
Position <= 0). Объём заявки равенTradeVolumeплюс величина, необходимая для переворота из шорта.
Условия для коротких позиций
- Тренд — цена закрытия ниже скользящей средней.
- Импульс — RSI выше
RsiUpperLevel. - Тайминг — обе линии стохастика выше
StochUpperLevel. - Позиция — продажи открываются только при отсутствии шортов (
Position >= 0); при необходимости выполняется разворот из лонга.
Управление позицией
- Ограничение убытков
AllowLossPoints = 0: отрицательная позиция удерживается до тех пор, пока стохастик не достигнет противоположной экстремальной зоны (StochUpperLevelдля лонга иStochLowerLevelдля шорта).AllowLossPoints > 0: позиция закрывается, как только убыток превышает порог (в абсолютной цене) и стохастик возвращается в нейтральную область (stochMain > StochLowerLevelдля лонга,< StochUpperLevelдля шорта).
- Трейлинг-стоп
- При
TrailingStopPoints > 0стратегия устанавливает стоп после перехода сделки в прибыль и входа стохастика в экстремум. Стоп обновляется на каждой завершённой свече. - При
TrailingStopPoints = 0прибыльные сделки закрываются сразу при попадании стохастика в экстремальную зону.
- При
- Частота обновления — трейлинг пересчитывается один раз на свечу, что повторяет поведение оригинального советника.
Особенности реализации
- Сдвиг
MaShiftреализован через хранение истории скользящей средней и обращение к значению N баров назад — полностью соответствует MQL5. - Для RSI и скользящей средней доступны все типы цен, использованные в MetaTrader. Стохастик построен на стандартном индикаторе StockSharp (режим High/Low) и использует те же периоды сглаживания.
- Значения в пунктах зависят от
PriceStep; если шаг цены неизвестен, применяется значение 1. - В комплекте строится график со свечами, скользящей средней, RSI и стохастиком для визуального анализа.
- По требованию задачи Python-версия не создавалась — доступна только реализация на C#.
Рекомендации
- Перед запуском убедитесь, что для инструмента заданы
PriceStepиDecimals, чтобы корректно перевести пункты в цену. - При необходимости комбинируйте стратегию с
StartProtectionили собственными модулями управления рисками. - При оптимизации целесообразно совместно варьировать периоды индикаторов и параметры риска — их баланс сильно влияет на профиль доходности.