Стратегия MA Mirror
Обзор
MA Mirror — это портирование эксперта MetaTrader MA_MirrorEA. Стратегия сравнивает две простые скользящие средние одинаковой
длины, но построенные по разным ценам: по закрытиям и по открытиям свечей. Когда среднее по закрытиям выше среднего по открытиям,
система стремится находиться в длинной позиции; когда оно ниже — в короткой. Параметр MovingShift позволяет брать значения
скользящих из прошлых свечей, что воспроизводит визуальный сдвиг индикатора в MetaTrader.
Реализация на StockSharp сохраняет «зеркальную» логику оригинала: одновременно держится только одна позиция, а смена сигнала сначала закрывает текущую позицию и затем открывает новую в противоположном направлении. Как и в MQL-версии, стратегия стартует с виртуального короткого сигнала, поэтому первая реальная сделка появится только после того, как среднее по закрытиям поднимется выше среднего по открытиям.
Логика торговли
- Подписаться на свечи типа
CandleTypeи обрабатывать только завершённые свечи, чтобы исключить решения по незакрытым барам. - Прокармливать две простые скользящие средние ценами закрытия и открытия соответственно. Обе используют период
MovingPeriod, поэтому их значения сопоставимы напрямую. - Сохранять последние значения индикаторов в кольцевых буферах. Это позволяет получить значение
MovingShiftсвечей назад и не обращаться к запрещённым методам индикаторов. - Если сдвинутое среднее по закрытиям выше среднего по открытиям — формируется покупка; если ниже — продажа. При равных значениях сигнал не меняется.
- Если это первый сигнал и он не бычий, стратегия остаётся без позиции. В остальных случаях при смене сигнала закрывается текущее
плечо и открывается новая рыночная позиция объёмом
TradeVolumeв нужном направлении. - Обновляется запомненный сигнал, чтобы на последующих свечах не дублировать заявки, пока направление позиции не изменилось.
Параметры
| Имя | Тип | Значение по умолчанию | Описание |
|---|---|---|---|
CandleType |
DataType |
таймфрейм 1 минута | Основной поток свечей, используемых стратегией. |
MovingPeriod |
int |
20 |
Длина простых скользящих по закрытиям и открытиям. |
MovingShift |
int |
0 |
Количество завершённых свечей, на которое сдвигаются значения скользящих. |
TradeVolume |
decimal |
1 |
Объём каждой рыночной заявки. |
Отличия от оригинального эксперта MetaTrader
- Функции управления рисками из MQL-библиотеки (стоп-лосс, тейк-профит, трейлинг) не переносились. Версия для StockSharp всегда
торгует фиксированным объёмом
TradeVolume, а дополнительные ограничения при необходимости настраиваются отдельно. - MetaTrader ведёт учёт отдельных ордеров, тогда как StockSharp оперирует чистой позицией. Перед разворотом позиция закрывается, чтобы конечная экспозиция совпадала с поведением EA.
- Индикаторы обрабатываются через подписку на свечи StockSharp и индикаторы
SimpleMovingAverageс внутренними буферами вместо прямого вызоваiMA.
Рекомендации по использованию
- Перед запуском задайте
TradeVolumeв соответствии с минимальным шагом инструмента. Конструктор также присваивает это значение свойствуStrategy.Volume, поэтому вспомогательные методы выставляют заявки нужного размера. - Увеличивайте
MovingShift, если требуется анализировать более старые значения скользящих и повторить визуальный сдвиг MetaTrader. - Добавьте стратегию на график, чтобы видеть свечи, обе скользящие и собственные сделки — это помогает убедиться, что развороты происходят точно в моменты пересечения средних.
Используемые индикаторы
- Две простые скользящие средние одинаковой длины (по ценам закрытия и открытия) с возможностью обратного сдвига.