
Strategi ini adalah sistem perdagangan pelacakan tren yang didasarkan pada sistem dua garis rata dan indikator RSI. Strategi ini menggabungkan sinyal persilangan garis rata, penilaian RSI overbought dan oversold, dan konfirmasi harga untuk membuat kerangka keputusan perdagangan dengan beberapa penyaringan. Strategi ini menangkap tren jangka pendek dan menengah melalui rata-rata bergerak indeks 6 siklus dan 82 siklus (EMA), sambil menggunakan indeks RSI yang relatif kuat (RSI) untuk menyaring keadaan pasar yang terlalu panas dan terlalu dingin, dan akhirnya mengkonfirmasi sinyal perdagangan dengan harga yang pecah.
Logika inti dari strategi ini terdiri dari tiga dimensi pemfilteran sinyal:
Strategi ini menggunakan kombinasi cerdas dari sistem linear dan indikator RSI untuk membangun sistem pelacakan tren yang logis dan ketat. Strategi ini memiliki mekanisme pemfilteran ganda yang secara efektif mengendalikan risiko, tetapi juga dapat melewatkan beberapa peluang perdagangan. Dengan terus-menerus mengoptimalkan dan menyempurnakan, strategi ini diharapkan dapat mempertahankan kinerja yang stabil di berbagai lingkungan pasar.
/*backtest
start: 2024-02-17 00:00:00
end: 2025-02-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA RSI Strategy", overlay=true)
// Input Parameters
emaShortLength = input.int(6, title="EMA Short Length")
emaLongLength = input.int(82, title="EMA Long Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.float(70, title="RSI Overbought Level")
rsiOversold = input.float(22, title="RSI Oversold Level")
// Calculations
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
rsi = ta.rsi(close, rsiLength)
// Conditions
emaBuyCondition = ta.crossover(emaShort, emaLong)
emaSellCondition = ta.crossunder(emaShort, emaLong)
higherHighCondition = close > ta.highest(close[1], 1)
lowerLowCondition = close < ta.lowest(close[1], 1)
rsiNotOverbought = rsi < rsiOverbought
rsiNotOversold = rsi > rsiOversold
// Entry Signals
buySignal = emaBuyCondition and rsiNotOverbought and higherHighCondition
sellSignal = emaSellCondition and rsiNotOversold and lowerLowCondition
// Execute Trades
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell", strategy.short)
// Plotting
plot(emaShort, color=color.green, title="EMA Short")
plot(emaLong, color=color.red, title="EMA Long")
plot(rsi, title="RSI", color=color.blue, linewidth=1)
hline(rsiOverbought, title="RSI Overbought", color=color.red, linestyle=hline.style_dotted)
hline(rsiOversold, title="RSI Oversold", color=color.green, linestyle=hline.style_dotted)