Стратегия Dual EMA Spread Breakout - это стратегия, следующая за трендом. Она использует две линии EMA с разными периодами и совершает сделки, когда между двумя EMA существует достаточно большой спред, чтобы определить направление тренда.
Стратегия использует для торговых сигналов быструю EMA (короткосрочную EMA) и медленную EMA (длинносрочную EMA).
Вычислите быструю и медленную ЕМА.
Когда быстрая EMA пересекает медленную EMA, и спред между двумя EMA превышает пороговый показатель, делайте длинный выбор.
Когда быстрая EMA переходит ниже медленной EMA, и спред между двумя EMA превышает пороговый показатель, перейдите на короткий.
Когда цена опять опускается ниже быстрой EMA, закрывайте длинные позиции.
Когда цена выйдет за пределы быстрого EMA, закрывайте короткие позиции.
Таким образом, он использует плавность EMA для определения направления тренда, а прорыв EMA для определения точного времени входа.
Риски могут быть уменьшены с помощью регулирования EMA, порога спреда и размещения стоп-лосса.
Стратегия двойного распространения EMA - это эффективная, но простая стратегия, следующая за трендом. Она может хорошо приносить прибыль на трендовых рынках, но требует правильных параметров. С оптимизацией и управлением рисками она может полностью использовать свои сильные стороны. Это полезная стратегия тренда для исследования и применения.
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-24 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("2-EMA Strategy", overlay=true, initial_capital=100, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075) diffMinimum = input(0.95, step=0.01) small_ema = input(13, title="Small EMA") long_ema = input(26, title="Long EMA") ema1 = ema(close, small_ema) ema2 = ema(close, long_ema) orderCondition = ema1 > ema2?((ema1/ema2)*100)-100 > diffMinimum:((ema2/ema1)*100)-100 > diffMinimum longCondition = close > ema1 and ema1 > ema2 if (longCondition and orderCondition) strategy.entry("Long", strategy.long) shortCondition = close < ema1 and ema1 < ema2 if (shortCondition and orderCondition) strategy.entry("Short", strategy.short) strategy.close("Short", when=close > ema1) strategy.close("Long", when=close < ema1) plot(ema(close, small_ema), title="EMA 1", color=green, transp=0, linewidth=2) plot(ema(close, long_ema), title="EMA 2", color=orange, transp=0, linewidth=2)