Strategi ini adalah sistem perdagangan trend yang menggabungkan Indeks Kekuatan Relatif (RSI), Purata Bergerak Bertimbang (WMA), dan Purata Bergerak Eksponensial (EMA). Strategi ini mengenal pasti perubahan trend pasaran dengan memantau tahap RSI dan persilangan antara WMA dan EMA untuk menjana isyarat beli dan jual.
Logik teras strategi ini adalah berdasarkan unsur-unsur utama berikut: 1. Menggunakan RSI 14 tempoh untuk mengira pasaran overbought/oversold keadaan 2. Mengira WMA 45 tempoh dan EMA 89 tempoh Syarat kemasukan: - Isyarat panjang: Apabila RSI di bawah 50 dan WMA melintasi di atas EMA - Isyarat pendek: Apabila RSI melebihi 50 dan WMA melintasi di bawah EMA 4. Strategi menggunakan fungsi ta.rma untuk menghaluskan pengiraan RSI, meningkatkan kestabilan isyarat 5. Menggunakan fungsi grafik untuk menandakan titik beli / jual pada carta untuk penghakiman intuitif
Strategi ini membina sistem trend yang agak lengkap dengan menggabungkan penunjuk RSI, WMA, dan EMA. Kelebihan utamanya terletak pada kebolehpercayaan isyarat dan keupayaan kawalan risiko, sementara perhatian mesti diberikan kepada risiko isyarat palsu di pasaran yang berbeza. Melalui langkah pengoptimuman seperti menambahkan penapisan turun naik dan pengesahan kekuatan trend, kestabilan dan keuntungan strategi dapat ditingkatkan lagi. Secara keseluruhan, ini adalah strategi perdagangan dengan nilai praktikal, terutama sesuai untuk peniaga trend jangka menengah hingga 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")