Momentum Bollinger Bands Breakout Strategi

Penulis:ChaoZhang, Tarikh: 2024-01-04 15:52:31
Tag:

img

Ringkasan

Strategi Breakout Bollinger Bands Momentum adalah strategi perdagangan kuantitatif yang menggabungkan penunjuk Bollinger Bands dan penunjuk Purata Bergerak untuk membuat operasi breakout di bawah keadaan momentum tertentu. Strategi ini terutamanya menggunakan rel atas dan bawah Bollinger Bands untuk menentukan harga dan menambah penapisan harga tambahan dengan purata bergerak, mengeluarkan isyarat beli dan jual di bawah keadaan momentum tertentu untuk membuat operasi breakout di rel atas dan bawah Bollinger Bands.

Prinsip Strategi

Strategi ini terutamanya berdasarkan kepada penunjuk Bollinger Bands dan penunjuk purata bergerak MA. Bollinger Bands dan purata bergerak tergolong dalam penunjuk trend. Bollinger Bands menggunakan konsep penyimpangan standard untuk menggambarkan julat fluktuasi harga yang tinggi dan rendah. purata bergerak meratakan data harga dan menilai arah trend harga.

Logik teras strategi adalah:

  1. Memulakan parameter Bollinger Bands dan mengira rel tengah, rel atas dan rel bawah.

  2. Memulakan parameter purata bergerak.

  3. Isyarat beli: apabila harga memecahkan rel bawah Bollinger Bands dari bawah ke atas dan purata bergerak berada di bawah rel bawah, pergi panjang.

  4. Isyarat jual: apabila harga memecahkan rel atas Bollinger Bands dari atas ke bawah dan purata bergerak berada di atas rel atas, pergi pendek.

  5. Isyarat keluar: apabila harga kembali memasuki julat Bollinger Bands, tutup kedudukan.

Strategi ini menggabungkan penggunaan Bollinger Bands dan penunjuk purata bergerak untuk menjana isyarat dagangan di bawah keadaan momentum tertentu, yang merupakan strategi trend yang biasa.

Kelebihan

  1. Menggunakan Bollinger Bands untuk menilai dengan jelas julat turun naik harga dan purata bergerak untuk menentukan arah trend harga, isyarat perdagangan yang dibentuk oleh gabungan penapisan penunjuk dua mempunyai kebolehpercayaan yang agak tinggi.

  2. Selain harga menembusi sempadan Bollinger Bands, ia juga memerlukan purata bergerak untuk menembusi, yang memastikan sokongan momentum yang mencukupi untuk mengelakkan pecah palsu.

  3. Parameter strategi ditetapkan dengan munasabah dan fleksibel, yang boleh menyesuaikan parameter Bollinger Bands dan kitaran purata bergerak untuk menyesuaikan diri dengan pelbagai jenis dan keadaan pasaran yang berbeza.

  4. Idea strategi adalah jelas dan mudah difahami, mudah dilaksanakan dan disahkan.

Risiko

  1. Penunjuk turun naik Bollinger Bands sendiri mempunyai potensi kelewatan dalam trend yang berubah dengan cepat, yang boleh menghasilkan isyarat perdagangan yang tidak sah.

  2. Apabila digunakan sebagai penapis penunjuk, tetapan parameternya secara langsung mempengaruhi kekerapan strategi. tetapan yang tidak betul boleh kehilangan peluang perdagangan.

  3. Mengandalkan kedua-dua penunjuk Bollinger Bands dan penunjuk purata bergerak untuk membentuk isyarat yang berkesan, apabila salah satu daripada mereka gagal, keseluruhan strategi akan terjejas.

  4. Apabila harga menarik balik untuk menguji sempadan Bollinger Bands, mereka cenderung untuk terperangkap.

Arahan pengoptimuman

  1. Mengoptimumkan parameter Bollinger Bands untuk menyesuaikan diri dengan varieti dengan kitaran dan turun naik yang berbeza, seperti mengubah suai parameter pengganda tempoh dan deviasi standard Bollinger Bands.

  2. Mengoptimumkan parameter kitaran purata bergerak untuk mengimbangi kekerapan dan kesan penapisan.

  3. Meningkatkan strategi stop loss untuk mengawal kerugian maksimum setiap perdagangan.

  4. Gabungkan dengan penunjuk lain seperti RSI dan MACD untuk membentuk penunjuk komposit dan memperkayakan isyarat perdagangan untuk strategi.

  5. Menggabungkan model pembelajaran mesin untuk membantu menilai arah trend harga dan kadar kejayaan pecah.

Kesimpulan

Strategi ini mengintegrasikan penunjuk Bollinger Bands dengan penunjuk purata bergerak untuk menjana isyarat kemasukan dan keluar selepas memastikan momentum pecah harga tertentu. Idea strategi jelas dan mudah dilaksanakan, dan dapat dengan berkesan mengesan pasaran trend. Tetapi pada masa yang sama, terdapat juga risiko mundur tertentu. Ia perlu dioptimumkan untuk tetapan parameter dan menghentikan kerugian untuk menyesuaikan diri dengan perubahan pasaran.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//
strategy("Advanced Bollinger Bands Strategy", overlay=true) 
//BB Values 
wall1= input(defval=true,title="===BB Values===",type=input.bool)
source = input(defval=close,title="BB Source",type=input.source)
length = input(20,title="BB Length", minval=1)
mult = input(2.0,title="BB Multiplier",minval=0.001, maxval=50)
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev 
offset = input(0, " BB Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)
//Moving Average Values 
wall2= input(defval=true,title="===MA Values===",type=input.bool)
nfl= input(defval=14,title="Moving Average Period",type=input.integer,minval=1,maxval=100) 
source1= input(defval=close,title="Moving Average Source",type=input.source)
noisefilter= sma(source1,nfl)
plot(noisefilter,style=plot.style_line,linewidth=2,color=color.yellow,title=" Moving Average Filter")
bgcolor(noisefilter<lower?color.green:noisefilter>upper?color.red:na,title="Moving Average Filter")
//Strategy Conditions
wall3= input(defval=true,title="===Strategy Conditions===",type=input.bool)
bl= input(defval=false,title="Exit at Basis Line?",type=input.bool)
nflb= input(defval=false,title="Use Moving Average Filter?",type=input.bool)

//Strategy Condition
buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper) 

if (nflb?(crossover(source,lower) and noisefilter<lower): crossover(source, lower))
	strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands",  comment="BBandLE")
    
else
	strategy.cancel(id="BBandLE")
if (nflb?(crossunder(source,lower) and noisefilter>upper): crossunder(source, lower))
	strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands",  comment="BBandSE") 
else
	strategy.cancel(id="BBandSE")  
	
strategy.close_all(when=bl?crossover(source,basis) or crossunder(source,basis):crossover(source,upper) or crossunder(source,lower))


Lebih lanjut