Bollinger Bands Oscillation Breakthrough Strategi

Penulis:ChaoZhang, Tarikh: 2023-11-01 16:45:54
Tag:

img

Ringkasan

Strategi ini menggabungkan Bollinger Bands dan penunjuk Aroon untuk mendapat keuntungan daripada goyangan dan terobosan di pasaran yang tidak menentu. Ia berfungsi dengan baik dalam pasaran tren goyangan, dapat masuk tepat pada masanya selepas terobosan dan menetapkan stop loss dan mengambil syarat keuntungan untuk keluar dari kedudukan dengan betul.

Logika Strategi

Strategi ini terutamanya menggunakan dua penunjuk untuk mengenal pasti peluang perdagangan dan titik keluar.

Pertama, Bollinger Bands. Ia terdiri daripada band tengah, band atas dan band bawah. Band tengah adalah purata bergerak sederhana harga penutupan selama n tempoh. Band atas adalah band tengah + k penyimpangan standard. Band bawah adalah band tengah - k penyimpangan standard. Penembusan ke atas band tengah dari band bawah menandakan masuk panjang. Penembusan ke bawah band tengah dari band atas menandakan masuk pendek. Strategi menggunakan Bollinger Bands untuk mengenal pasti titik peluang di tengah-tengah trend osilasi, memasuki sekitar terobosan band tengah.

Kedua, penunjuk Aroon. Ia mencerminkan kekuatan relatif harga tertinggi dan terendah dalam n tempoh. Aroon boleh menentukan trend dan peluang. Apabila Aroon Up Line lebih tinggi daripada ambang, ia menunjukkan trend menaik. Apabila Aroon Down Line lebih tinggi daripada ambang, ia menunjukkan trend menurun. Strategi ini menggunakan Aroon Up untuk mengesahkan trend menaik dan Aroon Down untuk menentukan stop loss.

Menggabungkan kedua-dua penunjuk, strategi ini pergi lama apabila terobosan Bollinger berlaku dan Aroon Up lebih tinggi daripada ambang.

Kelebihan

  1. Menggabungkan beberapa penunjuk meningkatkan ketepatan. Penunjuk tunggal terdedah kepada bunyi pasaran. Kombinasi Bollinger Bands dan Aroon boleh menapis isyarat palsu.

  2. Bollinger Bands mempunyai keupayaan pengenalan trend yang kuat dan dapat mengesan peluang terobosan jangka pendek. Aroon menilai trend jangka panjang untuk mengelakkan perdagangan berlebihan di pasaran yang berbeza.

  3. Pengendalian risiko yang betul. Stop loss dan Aroon Down mengawal risiko penurunan. Ukuran kedudukan juga had setiap kerugian perdagangan.

  4. Sesuai dengan pasaran berayun dengan kerugian yang kurang besar. Berbanding dengan strategi trend berikut, strategi ini berprestasi lebih baik di pasaran berayun.

Risiko

  1. Bollinger Bands boleh tidak tepat. peristiwa pasaran tiba-tiba boleh membatalkan Bollinger Bands.

  2. Parameter Aroon memerlukan pengoptimuman. pasaran yang berbeza memerlukan parameter Aroon disesuaikan untuk hasil yang terbaik.

  3. Stop loss terlalu ketat menyebabkan pencetus berulang. Julat stop loss harus santai dengan betul untuk mengelakkan sentuhan berulang.

  4. Elakkan pasaran yang mempunyai trend yang kuat. Strategi ini sesuai dengan pasaran yang berayun. Ia tidak berfungsi dengan baik di pasaran dengan trend yang kuat.

Pengoptimuman

  1. Mengoptimumkan parameter Bollinger, menggunakan adaptif Bollinger Bands.

  2. Mengoptimumkan parameter Aroon dinamik. Aset dan jangka masa yang berbeza memerlukan parameter Aroon yang berbeza. Penyelidikan optimasi dinamik.

  3. Tambah penapis seperti RSI untuk mengelakkan overbought / oversold.

  4. Gunakan pembelajaran mesin untuk mengoptimumkan stop loss. Latihan algoritma boleh mencari kaedah stop loss yang lebih baik untuk meminimumkan pencetus berulang.

  5. Menggabungkan dengan jumlah seperti OBV untuk mengelakkan pecah palsu. Penunjuk jumlah boleh mencegah isyarat pecah Bollinger palsu.

Kesimpulan

Secara keseluruhan, ini adalah strategi perdagangan goyangan biasa. Ia mengenal pasti peluang perdagangan dengan menggabungkan Bollinger Bands dan Aroon, yang mampu memanfaatkan goyangan pasaran jangka pendek. Dengan kehilangan berhenti yang betul, pengurusan risiko dan pengoptimuman parameter, ia sesuai untuk pasaran yang berbeza. Tetapi pengoptimuman dan kawalan risiko diperlukan untuk mengelakkannya digunakan di pasaran yang sedang berkembang. Dengan peningkatan lanjut, ia boleh menjadi strategi kuantiti yang sangat praktikal.


/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-28 21:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © relevantLeader16058

//@version=4
// strategy(shorttitle='Bollinger bands And Aroon Scalping',title='Bollinger bands And Aroon Scalping (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"


// BB inputs and calculations
lengthBB = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, lengthBB)
dev = mult * stdev(src, lengthBB)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)


lengthAr = input(288, minval=1)
AroonUP = 100 * (highestbars(high, lengthAr+1) + lengthAr)/lengthAr
AroonDown = 100 * (lowestbars(low, lengthAr+1) + lengthAr)/lengthAr


Confirmation = input(90, "Aroon Confirmation")
Stop = input(70, "Aroon Stop")

Bullish = crossunder (close, basis)
Bearish = crossunder (close, upper)

//Entry 

strategy.entry(id="long", long = true, when = Bullish and AroonUP > Confirmation and window())

//Exit

strategy.close("long", when = Bearish or AroonUP < Stop and window())




Lebih lanjut