Sumber daya yang dimuat... Pemuatan...

Bollinger Bands Strategi kuantitatif frekuensi tinggi dikombinasikan dengan sistem breakout tinggi-rendah

Penulis:ChaoZhang, Tanggal: 2024-12-04 15:15:50
Tag:BBSMASDRRHHLL

img

Gambaran umum

Strategi ini adalah sistem perdagangan frekuensi tinggi yang menggabungkan indikator Bollinger Bands dengan sinyal price breakout. Strategi ini memantau hubungan antara harga dan Bollinger Bands, dikombinasikan dengan sinyal high dan low point breakout sebelumnya, untuk mengeksekusi reversal trade selama kondisi overbought dan oversold pasar. Sistem ini menerapkan rasio risiko-imbalan 1:1 untuk target profit dan loss, dan memvisualisasikan tingkat harga utama untuk membantu trader secara intuitif memahami tren pasar.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada dua kondisi utama: sinyal beli dipicu ketika harga menembus di atas level tertinggi sebelumnya dan level tertinggi berada di bawah Bollinger Band bagian bawah; sinyal jual dipicu ketika harga menembus di bawah level terendah sebelumnya dan level terendah berada di atas Bollinger Band bagian atas. Parameter Bollinger Band menggunakan rata-rata bergerak 20 periode dengan 2 standar deviasi untuk menentukan rentang volatilitas pasar dan area overbought/oversold. Setelah memicu sinyal perdagangan, sistem secara otomatis menetapkan stop-loss dan target level yang sesuai, memvisualisasikannya melalui gaya garis yang berbeda.

Keuntungan Strategi

  1. Menggabungkan kedua pendekatan perdagangan trend breakout dan mean reverssion, mempertahankan stabilitas di berbagai kondisi pasar
  2. Menggunakan rasio risiko-manfaat tetap untuk manajemen posisi, menguntungkan untuk perdagangan yang menguntungkan jangka panjang
  3. Memvisualisasikan level entry, stop-loss, dan target, meningkatkan operasional strategi
  4. Menggunakan Bollinger Bands untuk mengidentifikasi kondisi pasar overbought / oversold, meningkatkan akurasi perdagangan
  5. Logika strategi yang sederhana dan jelas, mudah dimengerti dan dilaksanakan

Risiko Strategi

  1. Perdagangan frekuensi tinggi mungkin menghadapi biaya transaksi yang lebih tinggi, yang memerlukan pertimbangan dampak komisi
  2. Dapat menghasilkan sinyal pecah palsu yang sering di berbagai pasar
  3. Rasio risiko-manfaat tetap mungkin tidak sepenuhnya menangkap pergerakan tren yang kuat
  4. Parameter Bollinger Bands tetap mungkin tidak beradaptasi dengan semua kondisi pasar
  5. Membutuhkan pemantauan pasar real-time untuk memastikan eksekusi sinyal yang tepat waktu

Arah Optimasi Strategi

  1. Mengintegrasikan indikator volume untuk konfirmasi sinyal, meningkatkan keandalan breakout
  2. Sesuaikan secara dinamis parameter Bollinger Bands berdasarkan volatilitas pasar
  3. Tambahkan filter tren untuk menghindari perdagangan yang sering di pasar yang berbeda
  4. Pertimbangkan untuk menambahkan filter waktu untuk menghindari perdagangan selama periode tidak aktif
  5. Mengembangkan mekanisme penentuan rasio risiko-manfaat yang adaptif

Ringkasan

Ini adalah sistem perdagangan yang komprehensif yang mengintegrasikan beberapa konsep analisis teknis. Melalui kombinasi indikator Bollinger Bands dan price breakout, strategi ini dapat menangkap peluang pembalikan di area pasar yang terlalu banyak dibeli dan terlalu banyak dijual. Meskipun ada ruang untuk optimasi, kerangka dasar sistem ini memiliki ekstensibilitas dan nilai praktis yang baik. Melalui manajemen risiko dan optimasi parameter yang tepat, strategi ini memiliki potensi untuk mencapai pengembalian yang stabil dalam perdagangan aktual.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-03 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Band Scalping", overlay=true)

// Input for Bollinger Bands length and standard deviation
bbLength = input(20, title="Bollinger Bands Length")
stdDev = input(2.0, title="Bollinger Bands Std Dev")

// Calculate and plot the Bollinger Bands
basis = ta.sma(close, bbLength)
deviation = stdDev * ta.stdev(close, bbLength)
upperBB = basis + deviation
lowerBB = basis - deviation

// Get previous candle's values
prevHigh = high[1]   // Previous candle high
prevLow = low[1]     // Previous candle low

// Buy Signal Condition: Current high crossed above previous high and previous high is below the lower Bollinger Band
buyCondition = ta.crossover(high, prevHigh) and (prevHigh < lowerBB[1])

// Sell Signal Condition: Current low crossed below previous low and previous low is above the upper Bollinger Band
sellCondition = ta.crossunder(low, prevLow) and (prevLow > upperBB[1])

// Entry and exit for Buy signals
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    // Calculate target and stop loss
    stopLossPrice = prevLow
    targetPrice = prevHigh + (prevHigh - stopLossPrice)  // 1:1 RR target

    // Set stop loss and target orders
    strategy.exit("Sell", "Buy", limit=targetPrice, stop=stopLossPrice)

    // // Plot entry line
    // line.new(x1=bar_index, y1=prevHigh, x2=bar_index + 12, y2=prevHigh, color=color.green, width=2, style=line.style_solid)
    // // Plot stop loss line
    // line.new(x1=bar_index, y1=stopLossPrice, x2=bar_index + 12, y2=stopLossPrice, color=color.red, width=1, style=line.style_dashed)
    // // Plot target line
    // line.new(x1=bar_index, y1=targetPrice, x2=bar_index + 12, y2=targetPrice, color=color.blue, width=2, style=line.style_solid)

// Entry and exit for Sell signals
if (sellCondition)
    strategy.entry("Sell", strategy.short)
    // Calculate target and stop loss
    stopLossPriceSell = prevHigh
    targetPriceSell = prevLow - (stopLossPriceSell - prevLow)  // 1:1 RR target

    // Set stop loss and target orders
    strategy.exit("Cover", "Sell", limit=targetPriceSell, stop=stopLossPriceSell)

    // // Plot entry line
    // line.new(x1=bar_index, y1=prevLow, x2=bar_index + 12, y2=prevLow, color=color.red, width=2, style=line.style_solid)
    // // Plot stop loss line
    // line.new(x1=bar_index, y1=stopLossPriceSell, x2=bar_index + 12, y2=stopLossPriceSell, color=color.green, width=1, style=line.style_dashed)
    // // Plot target line
    // line.new(x1=bar_index, y1=targetPriceSell, x2=bar_index + 12, y2=targetPriceSell, color=color.blue, width=2, style=line.style_solid)

// Plotting Bollinger Bands with 70% transparency
plot(upperBB, color=color.red, title="Upper Bollinger Band", transp=70)
plot(lowerBB, color=color.green, title="Lower Bollinger Band", transp=70)
plot(basis, color=color.blue, title="Middle Band", transp=70)


Berkaitan

Lebih banyak