Strategi Dagangan Gabungan RSI Moving Average dan Stochastic

Penulis:ChaoZhang, Tarikh: 2024-01-16 15:46:11
Tag:

img

Ringkasan

Strategi ini menggabungkan penggunaan purata bergerak dan Indeks Kekuatan Relatif Stochastic (Stochastic RSI) untuk mencari peluang perdagangan. Khususnya, ia melihat purata bergerak jangka menengah dalam trend menaik dan penunjuk Stochastic RSI yang terlalu banyak dibeli / terlalu banyak dijual untuk membuat keputusan perdagangan apabila kedua-dua isyarat muncul. Penggunaan gabungan ini dapat menapis beberapa isyarat palsu dan meningkatkan kestabilan strategi.

Prinsip Strategi

Komponen utama strategi ini ialah:

  1. Mengira dua purata bergerak, MA1 dan MA2, dengan tempoh yang berbeza.

  2. Mengira Indeks Kekuatan Relatif Stochastic (Stochastic RSI). Penunjuk ini menggabungkan RSI dan prinsip-prinsip stochastic untuk menunjukkan sama ada RSI terlalu banyak dibeli atau terlalu banyak dijual.

  3. Isyarat beli dihasilkan apabila RSI stokastik melintasi sempadan oversold, manakala isyarat jual dihasilkan apabila melintasi sempadan overbought.

  4. Masuk panjang apabila isyarat RSI stokastis sejajar dengan purata bergerak yang lebih cepat di atas yang lebih perlahan.

  5. Mengira jumlah risiko dan saiz kedudukan.

  6. Tetapkan harga stop loss dan ambil keuntungan.

Analisis Kelebihan

Strategi menggabungkan purata bergerak dan RSI stokastik mempunyai kelebihan berikut:

  1. Ia boleh menghasilkan pulangan yang baik di pasaran yang sedang berkembang. Gabungan purata bergerak jangka menengah dan panjang boleh menentukan arah trend pasaran secara keseluruhan.

  2. Stochastic RSI berguna dalam mengenal pasti situasi overbought dan oversold untuk menangkap peluang pembalikan.

  3. Penggunaan gabungan menapis isyarat palsu dan meningkatkan kestabilan.

  4. Kaedah peratusan risiko tetap menguruskan risiko dengan membatasi kerugian tunggal di bawah tahap toleransi.

  5. Hentikan kerugian dan ambil keuntungan kunci dalam keuntungan dan hadkan risiko penurunan.

Analisis Risiko

Terdapat juga beberapa risiko untuk strategi ini:

  1. Dalam pasaran berkisar, purata bergerak gabungan boleh memberikan isyarat palsu. Stop loss harus digunakan untuk mengawal risiko.

  2. Stochastic RSI sensitif terhadap pergerakan harga yang tidak menentu dan juga boleh memberikan isyarat palsu kadang-kadang.

  3. Peruntukan risiko tetap tidak dapat mengelakkan sepenuhnya kerugian besar.

  4. Dalam senario turun naik yang melampau, harga stop loss / keuntungan yang munasabah tidak tersedia. campur tangan manual diperlukan.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Uji lebih banyak kombinasi parameter untuk mencari tempoh optimum.

  2. Cuba menggabungkan purata bergerak dengan penunjuk lain seperti KDJ, MACD dan lain-lain.

  3. Uji dan optimum di pelbagai instrumen perdagangan.

  4. Menggunakan model pembelajaran mesin untuk mengoptimumkan parameter secara dinamik dari masa ke masa terhadap pasaran yang berubah.

Kesimpulan

Strategi gabungan purata bergerak dan RSI stokastik mengenal pasti trend dengan purata bergerak dan tahap pembalikan dengan RSI stokastik untuk membentuk isyarat perdagangan, bersama dengan stop loss / keuntungan dan kawalan risiko untuk membentuk logika strategi yang kukuh. Rangka kerja gabungan yang mudah dan praktikal ini boleh diuji dan dioptimumkan lebih lanjut di lebih banyak instrumen dan set parameter.


/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Moving Average and Stochastic RSI Strategy", shorttitle="MA+Stoch RSI", overlay=true)

// Input variables
ma1_length = input.int(20, title="MA1 Length")
ma2_length = input.int(50, title="MA2 Length")
stoch_length = input.int(14, title="Stochastic RSI Length")
overbought = input.int(80, title="Overbought Level")
oversold = input.int(20, title="Oversold Level")
risk_percentage = input.float(2.0, title="Risk Percentage")

// Calculate moving averages
ma1 = ta.sma(close, ma1_length)
ma2 = ta.sma(close, ma2_length)

// Calculate Stochastic RSI
rsi1 = ta.rsi(close, stoch_length)
rsiH = ta.highest(rsi1, stoch_length)
rsiL = ta.lowest(rsi1, stoch_length)
stoch = (rsi1 - rsiL) / (rsiH - rsiL) * 100

// Determine buy and sell signals based on Stochastic RSI
buySignal = ta.crossover(stoch, oversold)
sellSignal = ta.crossunder(stoch, overbought)

// Plot signals on the chart
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Calculate position size based on equity and risk percentage
equity = strategy.equity
riskAmount = equity * risk_percentage / 100
positionSize = riskAmount / ta.atr(14)

// Entry and exit conditions
var float stopLoss = na
var float takeProfit = na

if buySignal
    stopLoss := low
    takeProfit := high
    strategy.entry("Buy", strategy.long)
else if sellSignal
    strategy.exit("Sell", from_entry="Buy", stop=stopLoss, limit=takeProfit)


Lebih lanjut