Стратегия перекрестного использования скользящей средней

Автор:Чао Чжан, Дата: 14 сентября 2023 года 14:55:49
Тэги:

Логика стратегии

Стратегия кроссовера скользящей средней генерирует сигналы покупки и продажи путем расчета кроссовера между двумя скользящими средними различных периодов. Длинный сигнал генерируется, когда более короткий период MA пересекает более длинный период MA, в то время как короткий сигнал генерируется на нисходящем кроссовере.

Например, длинная сделка, когда 5-дневный MA пересекает 21-дневный MA, и закрытие длинной сделки, когда 5-дневный MA пересекает 21-дневный MA.

Логика торговли такова:

  1. Вычислить два МР, один краткосрочный, например, 5-дневный, и один долгосрочный, например, 21-дневный.
  2. Продолжительность, когда 5-дневный MA пересекает 21-дневный MA
  3. Закрыть длинную позицию, когда 5-дневная МР пересекает обратно ниже 21-дневной МР
  4. Аналогичным образом рассчитывается 14-дневная и 28-дневная МР
  5. Пройти короткий период, когда 14-дневная МДП пересекает 28-дневную МДП
  6. Закрыть короткий курс, когда 14-дневный MA пересекает 28-дневный MA

Различные комбинации периодов MA могут соответствовать краткосрочным или долгосрочным тенденциям.

Преимущества

  • Простой и легкий в применении
  • МА обеспечивают некоторую фильтрацию тенденций
  • Параметры можно оптимизировать путем корректировки периодов

Риски

  • Ценовая задержка МА, временная задержка
  • Долгие и короткие могут открываться одновременно.
  • Склонны к ударам на бурных рынках

Резюме

Стратегия кроссовера MA использует кроссы MA для генерации сигналов, с регулируемыми периодами, чтобы соответствовать рыночным циклам. Простой подход, следующий за трендом, но отстающие MAs и риск випса требуют осторожности.


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("My Strategy", overlay=true)

longCondition = crossover(sma(close, 5), sma(close, 21))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

Больше