
Стратегия основана на принципе двойного пересечения индексных скользящих средних (EMA) в сочетании с конструкцией динамического стоп-механизма. Стратегия использует 10-дневную ЭМА и 20-дневную ЭМА в качестве основного торгового сигнала, а также 50-дневную ЭМА в качестве трендового фильтра, используя 10-дневную ЭМА в качестве динамической стоп-линии.
Эта стратегия достигает баланса между отслеживанием тенденций и управлением рисками путем сочетания двойного пересечения EMA и динамического остановки. Ее ключевые преимущества заключаются в четкой логической структуре и интуитивно понятной визуальной конструкции, подходящей для средне- и низкочастотных торговых сценариев.
/*backtest
start: 2024-04-24 00:00:00
end: 2025-04-23 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=5
//@description Ovtlyer EMA Crossover price over 50 Indicator
//@author YourName
strategy("EMA Crossover Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Input EMA lengths
length10 = input.int(10, minval=1, title="10 EMA Length")
length20 = input.int(20, minval=1, title="20 EMA Length")
length50 = input.int(50, minval=1, title="50 EMA Length")
// Calculate EMAs
ema10 = ta.ema(close, length10)
ema20 = ta.ema(close, length20)
ema50 = ta.ema(close, length50)
// Bullish Condition: 10 EMA crosses above 20 EMA AND price is above 50 EMA
bullishCondition = ta.crossover(ema10, ema20) and close > ema50
// Bearish Condition: 10 EMA crosses below 20 EMA AND price is below 50 EMA
bearishCondition = ta.crossunder(ema10, ema20) and close < ema50
// Track the current market state
var isBullish = false
var isBearish = false
if (bullishCondition)
isBullish := true
isBearish := false
if (bearishCondition)
isBearish := true
isBullish := false
// Exit conditions
bullishExit = isBullish and close < ema10
bearishExit = isBearish and close > ema10
// Plot EMAs
plot(ema10, title="10 EMA", color=color.rgb(0, 255, 0), linewidth=3) // Thick green line for 10 EMA
plot(ema20, title="20 EMA", color=color.rgb(0, 150, 255), linewidth=2) // Medium blue line for 20 EMA
plot(ema50, title="50 EMA", color=color.rgb(255, 165, 0), linewidth=1) // Thin orange line for 50 EMA
// Strategy Entry and Exit
if (bullishCondition)
strategy.entry("Long", strategy.long)
if (bearishCondition)
strategy.entry("Short", strategy.short)
if (bullishExit)
strategy.close("Long")
if (bearishExit)
strategy.close("Short")
// Plot Entry Signals (for visualization)
plotshape(bullishCondition, title="Bullish Signal",
location=location.belowbar, style=shape.triangleup,
size=size.small, color=color.green)
plotshape(bearishCondition, title="Bearish Signal",
location=location.abovebar, style=shape.triangledown,
size=size.small, color=color.red)
// Plot Exit Signals (for visualization)
plotshape(bullishExit, title="Bullish Exit",
location=location.abovebar, style=shape.xcross,
size=size.small, color=color.orange)
plotshape(bearishExit, title="Bearish Exit",
location=location.belowbar, style=shape.xcross,
size=size.small, color=color.purple)