FiveMinutesScalpingEA v1.1 (порт на StockSharp)
Общее описание
FiveMinutesScalpingEaV11Strategy — это порт советника MetaTrader 4 5MinutesScalpingEA v1.1 на высокоуровневый API StockSharp. Стратегия сохраняет исходную идею: сочетание двух Hull Moving Average, импульсного индикатора Fisher, детектора пробоя по ATR и трендового фильтра. Алгоритм рассчитан на работу на пятиминутных свечах и анализирует только закрытые бары.
Торговля ведётся по одному инструменту и одной позиции: либо лонг, либо шорт, либо отсутствие позиции. Защитные ордера моделируются внутри стратегии путём контроля максимумов и минимумов свечей.
Набор индикаторов
| Компонент | Реализация в StockSharp | Назначение |
|---|---|---|
i1 Hull MA |
HullMovingAverage с периодом Period1 (30 по умолчанию) |
Быстрый фильтр направления тренда по наклону Hull. |
i2 Hull MA |
HullMovingAverage с периодом Period2 (50 по умолчанию) |
Дополнительное подтверждение тренда; оба Hull должны совпадать (в нормальном режиме). |
i3 Fisher |
FisherTransform с периодом Period3 |
Импульсный осциллятор: положительные значения поддерживают покупки, отрицательные — продажи. |
i4 ATR-пробой |
AverageTrueRange с периодом Period4 + сравнение трёх свечей |
Фиксирует сильные пробои, когда максимум/минимум текущей свечи значительно превышает два предыдущих. |
i5 Fisher тренда |
FisherTransform с периодом Period5 |
Сглаженный трендовый фильтр, аналог гистограммы из оригинального советника. |
История значений каждого индикатора сохраняется так, чтобы можно было обратиться к значению на IndicatorShift свечей назад — полностью повторяя параметр IndicatorsShift из MQL4. Каждый фильтр можно отключить через соответствующий параметр UseIndicatorX.
Логика входов
- Открывается подписка на свечи типа
CandleType(по умолчанию M5). - После закрытия очередной свечи обновляются все индикаторы. Как только достаточно истории, стратегия анализирует свечу, находящуюся на
IndicatorShiftбаров позади. - Нормальный режим (
SignalMode = Normal):- Покупка возможна, если все активные фильтры показывают бычье состояние (наклон Hull вверх, Fisher > 0, пробой ATR вверх, трендовый Fisher > 0).
- Продажа выполняется при зеркальном условии (наклон Hull вниз, Fisher < 0, пробой вниз, трендовый Fisher < 0).
- Режим Reverse меняет трактовку сигналов на противоположную.
- При появлении нового сигнала обновляется флаг
_lastSignal. Если включёнCloseOnSignal, противоположная позиция закрывается прежде чем открыть новую. - Параметр
UseTimeFilterограничивает торговлю временем суток — логика совпадает с оригинальным советником (обработка диапазона[StartHour, EndHour), включая переход через полуночь).
Управление рисками
- Стоп-лосс / тейк-профит — выставляются на фиксированном расстоянии (
StopLossPips,TakeProfitPips) от цены входа и проверяются на каждой свече. - Трейлинг-стоп — при включении
UseTrailingStopведётся плавающий максимум/минимум. После движения цены минимум наTrailingStepPipsстоп подтягивается на расстояниеTrailingStopPipsот текущего экстремума. - Перевод в безубыток — при включении
UseBreakEvenи прохождении ценыBreakEvenPips + BreakEvenAfterPipsстоп переносится на уровеньBreakEvenPipsот точки входа. - Все выходы выполняются рыночными ордерами (
SellMarket/BuyMarket), закрывающими полный объём позиции.
Параметры
| Параметр | Значение по умолчанию | Описание |
|---|---|---|
CandleType |
M5 | Таймфрейм сигналов. |
IndicatorShift |
1 | На сколько закрытых свечей сдвигается анализ индикаторов. |
SignalMode |
Normal | Нормальная или инвертированная интерпретация сигналов. |
UseIndicator1..UseIndicator5 |
true | Включение каждого фильтра по отдельности. |
Period1..Period5 |
30, 50, 10, 14, 18 | Периоды Hull, Fisher и ATR. |
PriceMode3 |
HighLow | Параметр совместимости с MQL4. В текущем порте Fisher использует стандартную цену свечи. |
CloseOnSignal |
false | Закрывать противоположную позицию перед открытием новой. |
UseTimeFilter, StartHour, EndHour |
false, 0, 0 | Ограничение торговли по времени. |
UseTakeProfit, TakeProfitPips |
true, 10 | Настройки тейк-профита. |
UseStopLoss, StopLossPips |
true, 10 | Настройки стоп-лосса. |
UseTrailingStop, TrailingStopPips, TrailingStepPips |
false, 1, 1 | Параметры трейлинг-стопа. |
UseBreakEven, BreakEvenPips, BreakEvenAfterPips |
false, 4, 2 | Параметры перевода в безубыток. |
TradeVolume |
0.01 | Объём рыночных ордеров. |
Отличия от оригинала
- Групповые закрытия (
UseBasketClose,CloseInProfit,CloseInLoss) не реализованы: стратегия работает с одной нетто-позицией. - Автоматический расчёт лота и контроль спрэда отсутствуют; объём задаётся вручную параметром
TradeVolume. - Параметр выбора цены для Fisher оставлен ради совместимости, но индикатор StockSharp использует стандартную цену свечи. Для альтернативных ценовых источников потребуется расширить индикатор.
- Управление рисками выполняется на закрытых свечах, что соответствует поведению исходного советника при
IndicatorsShift >= 1.
Рекомендации по использованию
- Используйте ликвидные инструменты с минимальным спредом (изначально советник ориентирован на EUR/USD M5).
- Настраивайте
TradeVolumeв соответствии с управлением капиталом. - Подбирайте периоды индикаторов и набор фильтров под собственный стиль торговли.
- При необходимости включайте фильтр по времени для исключения малоликвидных сессий.
- Перед запуском на реальных данных протестируйте стратегию в тестере StockSharp.