Strategi RSI Rata-rata Bergerak dan Stochastic

Penulis:ChaoZhang, Tanggal: 2024-02-01 11:37:40
Tag:

img

Gambaran umum

Strategi ini diuji pada pasangan perdagangan BTC/USDT pada jangka waktu 3 menit dan memberikan hasil yang luar biasa.

Prinsip Strategi

Strategi ini menggunakan dua rata-rata bergerak sederhana dengan periode waktu yang berbeda, masing-masing 20 periode dan 50 periode. Dua rata-rata ini digunakan untuk menilai tren harga. Ketika rata-rata bergerak jangka pendek melintasi di atas rata-rata bergerak jangka panjang, itu adalah sinyal bullish, dan ketika melintasi di bawahnya, itu adalah sinyal bearish.

Formula perhitungan indikator RSI Stochastic adalah: (RSI - RSI Terendah) / (RSI Tertinggi - RSI Terendah) * 100. Indikator ini mencerminkan tingkat indikator RSI saat ini relatif terhadap RSI tertinggi dan terendah selama periode waktu baru-baru ini. Ketika RSI Stochastic melintasi di atas 20, itu adalah sinyal oversold, dan ketika melintasi di bawah 80, itu adalah sinyal overbought.

Strategi ini menggabungkan penggunaan moving average untuk menilai arah tren dan Stochastic RSI untuk menemukan titik pembalikan potensial sebagai peluang masuk.

Analisis Keuntungan

Dibandingkan dengan menggunakan moving average atau Stochastic RSI saja, strategi ini menggabungkan keuntungan dari keduanya untuk lebih mengidentifikasi tren sambil menemukan titik pembalikan potensial, sehingga meningkatkan probabilitas keuntungan.

Dibandingkan dengan satu indikator, strategi ini mengintegrasikan beberapa indikator dan menetapkan aturan masuk yang ketat, yang secara efektif dapat menyaring sinyal palsu dan menghindari perdagangan yang tidak perlu.

Strategi ini juga mengendalikan risiko dengan sangat baik dengan hanya menggunakan 2% dari modal untuk perdagangan margin setiap kali, yang secara efektif dapat membatasi dampak dari kerugian tunggal.

Analisis Risiko

Strategi ini terutama bergantung pada indikator teknis untuk menentukan sinyal perdagangan. Jika indikator gagal, itu dapat menghasilkan sinyal yang salah dan menyebabkan kerugian. Selain itu, pengaturan parameter yang tidak tepat juga akan mempengaruhi kinerja strategi.

Pada saat fluktuasi pasar yang keras, pengaturan stop-loss dapat dihancurkan, yang mengarah pada risiko peningkatan kerugian.

Arahan Optimasi

Uji lebih banyak kombinasi rata-rata bergerak dan parameter untuk menemukan kombinasi parameter yang optimal.

Memilih mode stop-loss terbaik sesuai dengan karakteristik cryptocurrency yang berbeda untuk lebih mengendalikan risiko.

Memperkenalkan algoritma pembelajaran mesin untuk secara otomatis mengoptimalkan pengaturan parameter dan aturan penilaian sinyal untuk membuat strategi lebih kuat dan adaptif.

Kesimpulan

Strategi ini berhasil menggabungkan moving average dan indikator Stochastic RSI untuk menentukan sinyal perdagangan. Dibandingkan dengan satu indikator teknis, strategi ini dapat memberikan sinyal perdagangan yang lebih dapat diandalkan. Dengan kontrol risiko yang ketat dan optimasi parameter, strategi ini memiliki potensi untuk mencapai keuntungan yang stabil.


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 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 banyak