Artikel ini terutama memperkenalkan strategi perdagangan kuantitatif berdasarkan RSI dan WMA. Strategi ini menghasilkan sinyal beli dan jual dengan menghitung nilai RSI dan WMA untuk menemukan titik pembalikan harga saham, yang bertujuan untuk membeli rendah dan menjual tinggi.
Indikator inti dari strategi ini termasuk RSI dan WMA. RSI (Relative Strength Index) adalah indikator volatilitas yang digunakan untuk mengukur perubahan kecepatan kenaikan dan penurunan harga baru-baru ini. WMA (Weighted Moving Average) adalah rata-rata bergerak tertimbang.
Sinyal beli dari strategi ini dihasilkan ketika RSI melintasi di atas WMA, menunjukkan pembalikan harga dan kemungkinan awal tren kenaikan. Sinyal jual dihasilkan ketika RSI melintasi di bawah WMA, menyiratkan pembalikan harga dan kemungkinan awal tren penurunan.
Secara khusus, strategi pertama menghitung RSI 14 hari, kemudian menghitung WMA 45 hari. Jika RSI melintasi di atas WMA, sinyal beli dihasilkan. Jika RSI melintasi di bawah WMA, sinyal jual dihasilkan. Kombinasi RSI dan WMA dapat menangkap titik pembalikan harga dengan lebih akurat.
Strategi ini memiliki keuntungan berikut:
Risiko termasuk:
Risiko ini dapat dikurangi dengan penyesuaian parameter, stop loss, penyaringan risiko pasar, dll.
Strategi dapat dioptimalkan dari aspek berikut:
Strategi ini mengintegrasikan RSI dan WMA untuk menangkap crossover untuk sinyal perdagangan, memungkinkan perdagangan algo yang sederhana dan efektif.
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI WMA Strategy", overlay=true) // Input parameters rsiLength = input(14, title="RSI Length") wmaLength = input(45, title="WMA Length") // Calculate RSI and WMA rsiValue = ta.rsi(close, rsiLength) wmaValue = ta.wma(rsiValue, wmaLength) // Define overbought and oversold levels for RSI overboughtLevel = 70 oversoldLevel = 30 // Strategy logic longCondition = ta.crossover(rsiValue, wmaValue) shortCondition = ta.crossunder(rsiValue, wmaValue) // Execute trades if (longCondition) strategy.entry("Long", strategy.long, comment="BUY") if (shortCondition) strategy.entry("Short", strategy.short, comment="SELL") // Plotting for visualization plot(rsiValue, title="RSI", color=color.blue) plot(wmaValue, title="WMA", color=color.orange) hline(overboughtLevel, "Overbought Level", color=color.red) hline(oversoldLevel, "Oversold Level", color=color.green) // Plot buy and sell signals on the chart plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)