Aliran Kelantangan Bollinger Band Mengikuti Strategi Kuantitatif

BB RSI EMA SMA SD SL
Tarikh penciptaan: 2024-11-12 15:53:44 Akhirnya diubah suai: 2024-11-12 15:53:44
Salin: 1 Bilangan klik: 459
1
fokus pada
1617
Pengikut

Aliran Kelantangan Bollinger Band Mengikuti Strategi Kuantitatif

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan komprehensif berdasarkan Brinband, indikator RSI dan purata bergerak. Strategi ini mengenal pasti peluang perdagangan yang berpotensi melalui rentang turun naik harga Brinband, tahap RSI overbought dan oversold dan penapisan trend EMA. Sistem ini menyokong perdagangan over and under, dan menyediakan pelbagai mekanisme keluar untuk melindungi keselamatan dana.

Prinsip Strategi

Strategi ini berdasarkan komponen teras berikut:

  1. Brin menggunakan 1.8 kali standard deviasi untuk menentukan julat pergerakan harga
  2. Indeks RSI 7 kitaran digunakan untuk menilai kegemilangan
  3. EMA 500 kitaran pilihan sebagai penapis trend
  4. Syarat penyertaan:
    • Lebih banyak: RSI di bawah 25 dan harga melepasi Bollinger Bands
    • Hilang: RSI melebihi 75 dan harga menembusi Bollinger Bands
  5. Keluar untuk menyokong RSI atau Bollinger Bands Reverse Break
  6. Peratusan pelindung kerugian pilihan

Kelebihan Strategik

  1. Kerjasama antara pelbagai penunjuk teknikal meningkatkan kebolehpercayaan isyarat
  2. Tetapan parameter yang fleksibel membolehkan penyesuaian mengikut keadaan pasaran yang berbeza
  3. Sokong perdagangan dua hala untuk memanfaatkan peluang pasaran
  4. Pelbagai mekanisme keluar yang disediakan untuk gaya dagangan yang berbeza
  5. Penapis trend berkesan mengurangkan isyarat palsu
  6. Mekanisme penangguhan kerugian memberikan kawalan risiko yang baik

Risiko Strategik

  1. Isyarat palsu yang kerap mungkin berlaku dalam pasaran yang tidak menentu
  2. Penunjuk berbilang boleh menyebabkan ketinggalan isyarat
  3. Had RSI tetap mungkin tidak fleksibel dalam keadaan pasaran yang berbeza
  4. Parameter Brin Belt perlu disesuaikan dengan turun naik pasaran
  5. Tetapan Stop Loss boleh diaktifkan dengan mudah apabila turun naik dengan kuat

Arah pengoptimuman strategi

  1. Memperkenalkan penggandaan Brin yang beradaptasi, menyesuaikan secara dinamik mengikut turun naik pasaran
  2. Tambah penunjuk volum sebagai pengesahan tambahan
  3. Pertimbangkan untuk menambah penapis masa untuk mengelakkan dagangan pada waktu tertentu
  4. Membangunkan sistem nilai RSI yang dinamik
  5. Mengintegrasikan lebih banyak petunjuk pengesahan trend
  6. Mengoptimumkan mekanisme henti rugi, pertimbangkan untuk menggunakan henti rugi dinamik

ringkaskan

Ini adalah strategi perdagangan kuantitatif yang dirancang dengan baik untuk menangkap peluang pasaran dengan menggabungkan pelbagai petunjuk teknikal. Strategi ini sangat boleh dikonfigurasi dan dapat disesuaikan dengan keperluan perdagangan yang berbeza. Walaupun terdapat beberapa risiko yang wujud, kestabilan dan kebolehpercayaan dapat ditingkatkan lagi dengan mengoptimumkan parameter dan menambah petunjuk tambahan.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Scalp Pro", overlay=true)

// Inputs for the strategy
length = input(20, title="Bollinger Band Length")
src = input(close, title="Source")
mult = input(1.8, title="Bollinger Band Multiplier")
rsiLength = input(7, title="RSI Length")
rsiOverbought = input(75, title="RSI Overbought Level")
rsiOversold = input(25, title="RSI Oversold Level")

// Custom RSI exit points
rsiExitLong = input(75, title="RSI Exit for Long (Overbought)")
rsiExitShort = input(25, title="RSI Exit for Short (Oversold)")

// Moving Average Inputs
emaLength = input(500, title="EMA Length")
enableEMAFilter = input.bool(true, title="Enable EMA Filter")

// Exit method: Choose between 'RSI' and 'Bollinger Bands'
exitMethod = input.string("RSI", title="Exit Method", options=["RSI", "Bollinger Bands"])

// Enable/Disable Long and Short trades
enableLong = input.bool(true, title="Enable Long Trades")
enableShort = input.bool(false, title="Enable Short Trades")

// Enable/Disable Stop Loss
enableStopLoss = input.bool(false, title="Enable Stop Loss")
stopLossPercent = input.float(1.0, title="Stop Loss Percentage (%)", minval=0.1) / 100

// Bollinger Bands calculation
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upperBB = basis + dev
lowerBB = basis - dev

// RSI calculation
rsi = ta.rsi(src, rsiLength)

// 200 EMA to filter trades (calculated but only used if enabled)
ema200 = ta.ema(src, emaLength)

// Long condition: RSI below oversold, price closes below the lower Bollinger Band, and optionally price is above the 200 EMA
longCondition = enableLong and (rsi < rsiOversold) and (close < lowerBB) and (not enableEMAFilter or close > ema200)
if (longCondition)
    strategy.entry("Long", strategy.long)

// Short condition: RSI above overbought, price closes above the upper Bollinger Band, and optionally price is below the 200 EMA
shortCondition = enableShort and (rsi > rsiOverbought) and (close > upperBB) and (not enableEMAFilter or close < ema200)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Stop Loss setup
if (enableStopLoss)
    strategy.exit("Long Exit", "Long", stop = strategy.position_avg_price * (1 - stopLossPercent))
    strategy.exit("Short Exit", "Short", stop = strategy.position_avg_price * (1 + stopLossPercent))

// Exit conditions based on the user's choice of exit method
if (exitMethod == "RSI")
    // Exit based on RSI
    exitLongCondition = rsi >= rsiExitLong
    if (exitLongCondition)
        strategy.close("Long")
    
    exitShortCondition = rsi <= rsiExitShort
    if (exitShortCondition)
        strategy.close("Short")
else if (exitMethod == "Bollinger Bands")
    // Exit based on Bollinger Bands
    exitLongConditionBB = close >= upperBB
    if (exitLongConditionBB)
        strategy.close("Long")
    
    exitShortConditionBB = close <= lowerBB
    if (exitShortConditionBB)
        strategy.close("Short")