
Strategi ini menggunakan EMA rata-rata dari tiga periode yang berbeda (hari 144, 34, dan 76) untuk menangkap tren jangka menengah dan jangka panjang pasar, sementara EMA rata-rata 30 hari dengan harga tertinggi dan terendah berfungsi sebagai sinyal short-term overbought, membuka posisi overbought ketika harga close out menembus sinyal short-term multilateral, dan posisi overbought ketika sinyal short-term overbought menembus sinyal short-term multilateral. Metode ini memungkinkan manajemen posisi yang lebih fleksibel menggunakan sinyal short-term sambil menangkap tren utama pasar.
Strategi EMA crossover rata-rata dengan sinyal jangka pendek menangkap tren pasar melalui EMA rata-rata multi-siklus, dan menggunakan sinyal harga jangka pendek untuk manajemen posisi yang fleksibel, adalah metode yang menggabungkan pelacakan tren dengan operasi band. Namun, strategi ini juga memiliki masalah seperti keterlambatan, perdagangan yang sering dan kurangnya kontrol angin, yang perlu dioptimalkan lebih lanjut untuk meningkatkan stabilitas dan profitabilitas. Dengan memperkenalkan lebih banyak dimensi penilaian tren, menyesuaikan parameter sinyal secara dinamis, menambahkan mekanisme stop loss yang masuk akal, dan lain-lain, strategi ini dapat dibuat lebih lengkap dan lebih dapat diandalkan.
/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover with Short-term Signals", overlay=true)
// 定义EMA
shortest = ta.ema(close, 144)
short = ta.ema(close, 34)
longer = ta.ema(close, 76)
// 绘制EMA
plot(shortest, color=color.new(color.yellow, 0))
plot(short, color=color.new(color.orange, 0))
plot(longer, color=color.new(color.red, 0))
// 定义短线多空信号的EMA
stLong = ta.ema(high, 30)
stShort = ta.ema(low, 30)
stLongPlot = plot(stLong, '短线多', color.new(color.aqua, 0))
stShortPlot = plot(stShort, '短线空', color.new(color.green, 0))
// 绘制短线多空信号
clr = close > stLong ? color.green : color.aqua
fill(stLongPlot, stShortPlot, color=clr, transp=90)
// 交易信号
if (close > stLong)
strategy.entry("Buy", strategy.long)
if (close < stShort)
strategy.close("Buy")
// 显示买卖信号
plotshape(series=close > stLong, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=close < stShort, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")