Strategi Kuantitatif Mengikuti Tren Volume Bollinger Band

BB RSI EMA SMA SD SL
Tanggal Pembuatan: 2024-11-12 15:53:44 Akhirnya memodifikasi: 2024-11-12 15:53:44
menyalin: 1 Jumlah klik: 459
1
fokus pada
1617
Pengikut

Strategi Kuantitatif Mengikuti Tren Volume Bollinger Band

Ringkasan

Strategi ini adalah sistem perdagangan komprehensif yang didasarkan pada pita Brin, indikator RSI, dan rata-rata bergerak. Strategi ini mengidentifikasi peluang perdagangan potensial melalui rentang fluktuasi harga pita Brin, tingkat RSI overbought dan oversold, serta penyaringan tren EMA. Sistem ini mendukung perdagangan over and under, dan menyediakan berbagai mekanisme keluar untuk melindungi keamanan dana.

Prinsip Strategi

Strategi ini didasarkan pada komponen inti berikut:

  1. Brin yang memiliki standar deviasi 1,8 kali digunakan untuk menentukan kisaran harga
  2. Indikator RSI 7 siklus digunakan untuk menilai overbought dan oversold
  3. EMA 500 periode yang dapat dipilih sebagai filter tren
  4. Syarat masuk:
    • RSI di bawah 25 dan harga terjatuh dari Bollinger Bands
    • RSI di atas 75 dan harga menembus Bollinger Bands
  5. Metode Keluar Mendukung Penurunan RSI atau Bollinger Bands Reversal
  6. Persentase Opsional Perlindungan dari Kerusakan

Keunggulan Strategis

  1. Koordinasi antara beberapa indikator teknis meningkatkan keandalan sinyal
  2. Pengaturan parameter yang fleksibel memungkinkan penyesuaian sesuai dengan kondisi pasar yang berbeda
  3. Mendukung perdagangan dua arah dan memanfaatkan peluang pasar
  4. Berbagai mekanisme penarikan untuk menyesuaikan gaya perdagangan yang berbeda
  5. Fitur penyaringan tren efektif mengurangi sinyal palsu
  6. Mekanisme stop loss memberikan kontrol risiko yang baik

Risiko Strategis

  1. Sinyal palsu sering terjadi di pasar yang bergejolak
  2. Beberapa indikator dapat menyebabkan kelambatan sinyal
  3. Tanda RSI tetap mungkin tidak cukup fleksibel dalam berbagai kondisi pasar
  4. Parameter Brin Belt perlu disesuaikan dengan fluktuasi pasar
  5. Pengaturan Stop Loss dapat dipicu dengan mudah saat berfluktuasi tajam

Arah optimasi strategi

  1. Memperkenalkan adaptif Brin-band multiplier, yang secara dinamis disesuaikan dengan fluktuasi pasar
  2. Tambahkan indikator volume sebagai konfirmasi tambahan
  3. Pertimbangkan untuk menambahkan filter waktu untuk menghindari transaksi pada waktu tertentu
  4. Mengembangkan sistem nilai RSI yang dinamis
  5. Integrasi lebih banyak indikator pengakuan tren
  6. Optimalkan mekanisme stop loss, pertimbangkan untuk menggunakan stop loss dinamis

Meringkaskan

Ini adalah strategi perdagangan kuantitatif yang dirancang dengan baik untuk menangkap peluang pasar dengan kombinasi beberapa indikator teknis. Strategi ini sangat dapat dikonfigurasi dan dapat disesuaikan dengan kebutuhan perdagangan yang berbeda. Meskipun ada beberapa risiko yang melekat, stabilitas dan keandalan dapat ditingkatkan lebih lanjut dengan mengoptimalkan parameter dan menambahkan indikator tambahan.

Kode 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")