Bollinger Bands + RSI + Stochastic RSI Strategy Berdasarkan Penunjuk Volatiliti dan Momentum

BB RSI STO
Tarikh penciptaan: 2024-06-03 10:51:36 Akhirnya diubah suai: 2024-06-03 10:51:36
Salin: 0 Bilangan klik: 824
1
fokus pada
1617
Pengikut

Bollinger Bands + RSI + Stochastic RSI Strategy Berdasarkan Penunjuk Volatiliti dan Momentum

Gambaran keseluruhan

Strategi ini menggabungkan tiga petunjuk teknikal Bollinger Bands, RSI, dan RSI secara rawak untuk mencari keadaan overbought dan oversold di pasaran dengan menganalisis kadar turun naik dan dinamik harga untuk menentukan masa pembelian dan penjualan yang terbaik. Strategi ini menggunakan perdagangan opsyen simulasi 20 kali ganda, menetapkan 0.60% stop loss dan 0.25% stop loss, dan mengehadkan perdagangan hanya sekali sehari untuk mengawal risiko.

Prinsip Strategi

Strategi ini menggunakan tiga indikator untuk menilai keadaan pasaran, iaitu Bollinger Bands, RSI, dan Random RSI. Bollinger Bands terdiri daripada mid-trail (Simple Moving Average 20 Cycle), up-trail (three standard deviations above mid-trail), dan down-trail (three standard deviations below mid-trail) untuk mengukur kadar turun naik harga. RSI adalah pendayung dinamik yang digunakan untuk mengenal pasti keadaan overbought dan oversold.

Apabila RSI berada di bawah 34, RSI rawak berada di bawah 20, dan harga penutupan berada di dekat atau di bawah tren bawah. Apabila RSI berada di atas 66, RSI rawak berada di atas 80, dan harga penutupan berada di dekat atau di atas tren atas, maka ia akan mencetuskan isyarat jual. Strategi ini menggunakan perdagangan opsyen simulasi 20 kali ganda dengan seting stop-loss 0.25% dan seting stop-loss 0.60%.

Kelebihan Strategik

  1. Gabungan beberapa petunjuk teknikal: Strategi ini mengambil kira kedua-dua aspek kadar turun naik harga (Bollinger Bands) dan momentum (RSI dan RSI acak) untuk memberikan analisis pasaran yang lebih menyeluruh.
  2. Kawalan risiko: Strategi ini menetapkan titik berhenti dan kehilangan yang jelas, dan mengehadkan hanya satu perdagangan sehari, yang mengawal risiko dengan berkesan.
  3. Adaptif: Strategi ini dapat menyesuaikan diri dengan keadaan pasaran yang berbeza dengan menyesuaikan parameter seperti kali ganda perbezaan standard dalam Bollinger Bands, RSI dan nilai terendah RSI rawak.

Risiko Strategik

  1. Risiko pasaran: Strategi bergantung kepada keadaan pasaran, dan mungkin tidak berfungsi dengan baik jika trend tidak jelas atau turun naik yang sangat tinggi.
  2. Sensitiviti parameter: Kesan strategi bergantung kepada kualiti parameter yang dipilih. Tetapan parameter yang tidak betul boleh menyebabkan prestasi strategi yang buruk.
  3. Risiko Leverage: Strategi menggunakan 20 kali ganda Leverage, walaupun boleh meningkatkan keuntungan, tetapi juga akan meningkatkan kerugian. Dalam keadaan pasaran yang melampau, Leverage yang tinggi boleh menyebabkan kerugian yang besar.

Arah pengoptimuman strategi

  1. Parameter penyesuaian dinamik: mengikut perubahan keadaan pasaran, parameter penyesuaian dinamik seperti kali ganda perbezaan piawai Bollinger Bands, RSI dan penurunan RSI secara rawak, untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
  2. Menambahkan petunjuk lain: Pertimbangkan untuk memasukkan petunjuk teknikal lain, seperti MACD, ADX, dan sebagainya, untuk meningkatkan kebolehpercayaan dan kestabilan strategi.
  3. Mengoptimumkan Stop Loss: Dengan mengkaji semula dan mengoptimumkan, carilah stop loss yang optimum untuk memaksimumkan keuntungan sambil mengawal risiko.
  4. Peningkatan pengurusan wang: Meneroka teknik pengurusan wang yang lebih maju, seperti Kelley, untuk mengoptimumkan prestasi strategi jangka panjang.

ringkaskan

Strategi ini menggunakan tiga petunjuk teknikal, RSI, RSI dan RSI secara serentak, menggunakan turun naik harga dan maklumat dinamik, untuk mencari masa membeli dan menjual yang terbaik. Strategi ini menetapkan titik berhenti yang jelas dan mengawal jumlah perdagangan setiap hari untuk menguruskan risiko. Walaupun strategi ini mempunyai kelebihan, ia masih menghadapi cabaran seperti risiko pasaran, sensitiviti parameter dan risiko leverage.

Kod sumber strategi
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands + RSI + Stochastic RSI Strategy with OTM Options", overlay=true)
// Define leverage factor (e.g., 20x leverage for OTM options)
leverage = 1         
// Bollinger Bands
length = 20
deviation = 3
basis = ta.sma(close, length)
dev = ta.stdev(close, length)
upper = basis + deviation * dev
lower = basis - deviation * dev
// RSI
rsi_length = 14
rsi = ta.rsi(close, rsi_length)
// Stochastic RSI
stoch_length = 14
stoch_k = ta.stoch(close, close, close, stoch_length)
// Entry condition with Bollinger Bands
longCondition = rsi < 34 and stoch_k < 20 and close <= lower
shortCondition = rsi > 66 and stoch_k > 80 and close >= upper
// Plot Bollinger Bands
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper Bollinger Band")
plot(lower, color=color.green, title="Lower Bollinger Band")
// Track if a trade has been made today
var int lastTradeDay = na
// Options Simulation: Take-Profit and Stop-Loss Conditions
profitPercent = 0.01    // 1% take profit
lossPercent = 0.002  // 0.2% stop loss
// Entry Signals
if (dayofmonth(timenow) != dayofmonth(lastTradeDay)) 
    if (longCondition)
        longTakeProfitPrice = close * (1 + profitPercent)
        longStopLossPrice = close * (1 - lossPercent)
        strategy.entry("Long", strategy.long, qty=leverage * strategy.equity / close)
        strategy.exit("Take Profit Long", from_entry="Long", limit=longTakeProfitPrice, stop=longStopLossPrice)
        lastTradeDay := dayofmonth(timenow)
    if (shortCondition)
        shortTakeProfitPrice = close * (1 - profitPercent)
        shortStopLossPrice = close * (1 + lossPercent)
        strategy.entry("Short", strategy.short, qty=leverage * strategy.equity / close)
        strategy.exit("Take Profit Short", from_entry="Short", limit=shortTakeProfitPrice, stop=shortStopLossPrice)
        lastTradeDay := dayofmonth(timenow)