
Strategi ini adalah sistem perdagangan mengikuti tren yang menggabungkan Indeks Kekuatan Relatif (RSI), Rata-Rata Pergerakan Tertimbang (WMA), dan Rata-Rata Pergerakan Eksponensial (EMA). Strategi ini mengidentifikasi perubahan tren pasar dengan memantau posisi nilai RSI dan persilangan WMA dan EMA, sehingga menghasilkan sinyal beli dan jual. Metode kombinasi ini tidak hanya memperhitungkan kondisi pasar yang jenuh beli dan jenuh jual, tetapi juga menggabungkan penilaian tren rata-rata pergerakan berbagai periode, yang dapat menangkap titik balik pasar dengan lebih akurat.
Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:
Strategi ini membangun sistem pelacakan tren yang relatif lengkap dengan menggabungkan tiga indikator teknis: RSI, WMA, dan EMA. Keuntungan inti dari strategi ini terletak pada keandalan sinyal dan kemampuannya dalam mengendalikan risiko, tetapi pada saat yang sama, kita juga perlu memperhatikan risiko sinyal palsu di pasar yang bergejolak. Dengan menambahkan langkah-langkah pengoptimalan seperti penyaringan volatilitas dan konfirmasi kekuatan tren, stabilitas dan profitabilitas strategi dapat lebih ditingkatkan. Secara keseluruhan, ini adalah strategi perdagangan dengan nilai praktis, terutama cocok untuk pedagang tren jangka menengah dan panjang.
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy(title="RSI + WMA + EMA Strategy", shorttitle="RSI Strategy", overlay=true)
// RSI Settings
rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
// WMA and EMA Settings
wmaLengthInput = input.int(45, minval=1, title="WMA Length", group="WMA Settings")
wmaColorInput = input.color(color.blue, title="WMA Color", group="WMA Settings")
emaLengthInput = input.int(89, minval=1, title="EMA Length", group="EMA Settings")
emaColorInput = input.color(color.purple, title="EMA Color", group="EMA Settings")
// RSI Calculation
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
// WMA and EMA Calculation
wma = ta.wma(rsi, wmaLengthInput)
ema = ta.ema(rsi, emaLengthInput)
// Plot RSI, WMA, and EMA
plot(rsi, "RSI", color=#7E57C2)
plot(wma, title="WMA", color=wmaColorInput, linewidth=2)
plot(ema, title="EMA", color=emaColorInput, linewidth=2)
// Entry and Exit Conditions
longCondition = ta.crossover(wma, ema) and rsi < 50
shortCondition = ta.crossunder(wma, ema) and rsi > 50
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Optional: Plot Buy/Sell Signals on Chart
plotshape(series=longCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")