Sumber dimuat naik... memuat...

Bollinger Bands Strategi Kuantitatif Frekuensi Tinggi Dikombinasikan dengan Sistem Breakout Tinggi-Rendah

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

img

Ringkasan

Strategi ini adalah sistem perdagangan frekuensi tinggi yang menggabungkan penunjuk Bollinger Bands dengan isyarat penembusan harga. Strategi ini memantau hubungan antara harga dan Bollinger Bands, digabungkan dengan isyarat penembusan titik tinggi dan rendah sebelumnya, untuk melaksanakan perdagangan pembalikan semasa keadaan pasar yang terlalu banyak dibeli dan terlalu banyak dijual. Sistem ini melaksanakan nisbah risiko-balasan 1: 1 untuk sasaran keuntungan dan kerugian, dan memvisualisasikan tahap harga utama untuk membantu peniaga memahami trend pasaran secara intuitif.

Prinsip Strategi

Logik teras strategi ini adalah berdasarkan dua syarat utama: isyarat beli diaktifkan apabila harga memecahkan di atas paras tertinggi sebelumnya dan yang tinggi di bawah Bollinger Band bawah; isyarat jual diaktifkan apabila harga memecahkan di bawah paras rendah sebelumnya dan yang rendah di atas Bollinger Band atas. Parameter Bollinger Bands menggunakan purata bergerak 20 tempoh dengan 2 penyimpangan standard untuk menentukan julat turun naik pasaran dan kawasan overbought / oversold. Selepas mencetuskan isyarat perdagangan, sistem secara automatik menetapkan paras stop-loss dan sasaran yang sesuai, memvisualisasikannya melalui gaya garis yang berbeza.

Kelebihan Strategi

  1. Menggabungkan kedua-dua pendekatan perdagangan trend breakout dan pembalikan purata, mengekalkan kestabilan dalam keadaan pasaran yang berbeza
  2. Menggunakan nisbah risiko-balasan tetap untuk pengurusan kedudukan, yang bermanfaat untuk perdagangan yang menguntungkan dalam jangka panjang
  3. Memandangkan kemasukan, stop-loss, dan sasaran tahap, meningkatkan operasi strategi
  4. Menggunakan Bollinger Bands untuk mengenal pasti keadaan pasaran overbought / oversold, meningkatkan ketepatan perdagangan
  5. Logik strategi yang mudah dan jelas, mudah difahami dan dilaksanakan

Risiko Strategi

  1. Perdagangan frekuensi tinggi mungkin menghadapi kos transaksi yang lebih tinggi, yang memerlukan pertimbangan kesan komisen
  2. Boleh menghasilkan isyarat pecah palsu yang kerap di pasaran yang berbeza
  3. Nisbah risiko-balasan tetap mungkin tidak sepenuhnya menangkap pergerakan trend yang kuat
  4. Parameter Bollinger Bands tetap mungkin tidak disesuaikan dengan semua keadaan pasaran
  5. Memerlukan pemantauan pasaran masa nyata untuk memastikan pelaksanaan isyarat tepat pada masanya

Arahan Pengoptimuman Strategi

  1. Menggabungkan penunjuk jumlah untuk pengesahan isyarat, meningkatkan kebolehpercayaan pecah
  2. Sesuaikan parameter Bollinger Bands secara dinamik berdasarkan turun naik pasaran
  3. Tambah penapis trend untuk mengelakkan perdagangan yang kerap di pasaran pelbagai
  4. Pertimbangkan untuk menambah penapis masa untuk mengelakkan perdagangan semasa tempoh tidak aktif
  5. Membangunkan mekanisme penentuan nisbah risiko-balasan yang bersesuaian

Ringkasan

Ini adalah sistem perdagangan komprehensif yang mengintegrasikan pelbagai konsep analisis teknikal. Melalui kombinasi penunjuk Bollinger Bands dan harga harga, strategi ini dapat menangkap peluang pembalikan di kawasan pasaran yang terlalu banyak dibeli dan terlalu banyak dijual. Walaupun terdapat ruang untuk pengoptimuman, kerangka asas sistem ini mempunyai kemampuan yang baik dan nilai praktikal. Melalui pengurusan risiko yang betul dan pengoptimuman parameter, strategi ini berpotensi untuk mencapai pulangan yang stabil dalam perdagangan sebenar.


/*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 lanjut