Bollinger Bands Strategi Grid Penjejakan Purata Pergerakan Dwi


Tarikh penciptaan: 2023-12-13 17:12:38 Akhirnya diubah suai: 2023-12-13 17:12:38
Salin: 0 Bilangan klik: 733
1
fokus pada
1621
Pengikut

Bollinger Bands Strategi Grid Penjejakan Purata Pergerakan Dwi

Gambaran keseluruhan

Strategi ini menggunakan penunjuk saluran Brin untuk memetakan segmen berdasarkan ATR dan Regresen Fibonacci sebagai saluran harga grid. Dalam kombinasi dengan garis rata EMA dua kali untuk menentukan arah trend keseluruhan, menetapkan grid tracking stop loss secara selektif pada harga segmen Brin dalam arah trend, untuk mencapai penarikan trend tracking.

Prinsip Strategi

  1. Menggunakan Brin saluran dalam paksi dan berdasarkan ATR dan 4 garis Fibonacci Regression melukis naik dan turun binaan harga gelombang.

  2. Garis cepat EMA dan garis perlahan SMA membentuk garis rata ganda untuk menentukan arah trend keseluruhan. Garis cepat menembusi garis perlahan sebagai pasaran bertopeng, sebaliknya sebagai pasaran kosong.

  3. Dalam pasaran bermulut hanya melakukan lebih, pilih Brin di bawah landasan dekat harga menerobos saluran bawah melakukan lebih; dalam pasaran kosong hanya kosong, pilih Brin di atas landasan dekat harga menerobos saluran di sepanjang kedudukan terbuka kosong.

  4. Tetapkan keadaan berhenti: keluar dari kedudukan arah semasa apabila terdapat perubahan besar pada garis K.

Analisis kelebihan

  1. Guna binari untuk menilai trend peringkat besar dan mengelakkan dagangan berlawanan arah.

  2. Brin ATR channel grid telah menetapkan harga pembukaan pelbagai, meningkatkan kadar kejayaan pembukaan.

  3. Fibonacci Regression Bands menetapkan harga yang terpencil, dengan jumlah kedudukan yang berbeza di setiap gelombang, yang mewujudkan penyebaran dana.

  4. Keadaan Hentian Kerosakan Dalam Masa Nyata memudahkan Hentian Kerosakan Dengan Cepat dan Mengurangkan Keuntungan.

Analisis risiko

  1. Kesalahan penilaian trend peringkat besar, yang boleh menyebabkan kerugian berlawanan. Parameter garis rata-rata boleh disesuaikan dengan sewajarnya, atau penambahan indikator lain untuk penilaian tambahan.

  2. Apabila turun naik terlalu besar, harga mungkin langsung menembusi kawasan grid, tidak dapat membuka kedudukan. Anda boleh menyesuaikan parameter segmen gelombang, meningkatkan peluang membuka kedudukan.

  3. Keadaan berhenti adalah subjektif, kriteria pengenalan pedagang yang berbeza mungkin mempunyai kesilapan. Ia disyorkan untuk menguji dan mengoptimumkan keadaan berhenti.

Arah pengoptimuman

  1. Menambah analisis tambahan kepada indikator apo untuk menilai trend dua hala.

  2. Menggunakan penunjuk kadar turun naik pasaran untuk mengoptimumkan parameter Brin untuk lebih menyesuaikan diri dengan perubahan dinamik pasaran.

  3. Menurunkan marjin stop loss, dan menambah syarat stop loss dengan cara OTHER untuk mengurangkan kesilapan.

ringkaskan

Strategi ini secara keseluruhannya mempunyai pemikiran yang jelas, menggunakan saluran Brin ATR dan garis dua yang sama untuk mencapai penilaian komprehensif dan komprehensif terhadap isyarat perdagangan strategi, mengurangkan risiko kesalahan penilaian sebanyak mungkin. Kelebihan strategi jelas dan boleh digunakan secara praktikal; tetapi perincian seperti parameter dan keadaan berhenti kehilangan masih mempunyai ruang untuk dioptimumkan dan perlu disempurnakan lagi.

Kod sumber strategi
/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 00:00:00
period: 1h
basePeriod: 15m
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/
// © Aayonga

//@version=5
strategy("fib trend grid@Aa", overlay=true,initial_capital=2000, default_qty_type=strategy.fixed, default_qty_value=1)

//回测时间
useDateFilter=input.bool(true,title = "启用回测时间范围限定(backtest)", group = "回测范围(backtest)")
backtesStarDate=input(timestamp("1 Jan 2015"),title = "开始时间(Start)", group = "回测范围(backtest)")
backtestEndDate=input(timestamp("1 Jan 2040"),title = "结束时间(finish)",group = "回测范围(backtest)")
inTradeWindow=true


//入场位 entry
bolllen=input.int(defval=20,minval=1,title="布林长度,(boll length)",group = "入场位(entry)")
sma=ta.sma(close,bolllen)
avg=ta.atr(bolllen)
fib1=input(defval=1.236,title="Fib 1",group = "入场位(entry)")
fib2=input(defval=2.382,title="Fib 2",group = "入场位(entry)")
fib3=input(defval=3.618,title="fib 3",group = "入场位(entry)")
fib4=input(defval=4.236,title="Fib 4",group = "入场位(entry)")
r1=avg*fib1
r2=avg*fib2
r3=avg*fib3
r4=avg*fib4
top4=sma+r4
top3=sma+r3
top2=sma+r2
top1=sma+r1
bott1=sma-r1
bott2=sma-r2
bott3=sma-r3
bott4=sma-r4



//趋势 trend

t4=plot(top4,title="卖 (sell)4",color=color.rgb(244, 9, 9))
t3=plot(top3,title = "卖(sell) 3",color=color.rgb(211, 8, 8))
t2=plot(top2,title="卖 (sell)2",color=color.rgb(146, 13, 13))
t1=plot(top1,title="卖(sell) 1",color=color.rgb(100, 3, 3))

b1=plot(bott1,title="买(buy)1",color=color.rgb(4, 81, 40))
b2=plot(bott2,title="买(buy)2",color=color.rgb(15, 117, 46))
b3=plot(bott3,title = "买(buy)3",color =color.rgb(8, 176, 42) )
b4=plot(bott4,title="买(buy)4",color=color.rgb(15, 226, 103))
plot(sma,style=plot.style_cross,title="SMA",color=color.rgb(47, 16, 225))

//趋势
LengthF=input(defval = 25,title = "快线长度(fastlength)")
LengthS=input(defval=200,title = "慢线长度(slowlength)")
emaF=ta.ema(close,LengthF)
smaS=ta.sma(close,LengthS)
longTrend=emaF>smaS
longb=ta.crossover(emaF,smaS)
bgcolor(longb ? color.new(color.green,40):na,title = "多头强势(bull trend)")
shortTrend=smaS>emaF
shortb=ta.crossunder(emaF,smaS)
bgcolor(shortb ? color.new(#951313, 40):na,title = "空头强势(bear trend)")

//pinbar
bullPinBar = ((close > open) and ((open - low) > 0.6* (high - low))) or ((close < open) and ((close - low) > 0.9 * (high - low)))
//plotshape(bullPinBar  , text ="pinbar", textcolor=color.rgb(9, 168, 144),location=location.belowbar, color=color.rgb(29, 103, 67), size=size.tiny)
bearPinBar = ((close > open) and ((high - close) > 0.7 * (high - low))) or ((close < open) and ((high - open) > 0.7 * (high - low)))
//plotshape(bearPinBar  , text ="pinbar", textcolor=color.rgb(219, 12, 12),location=location.abovebar, color=color.rgb(146, 7, 7), size=size.tiny)

buy1=ta.crossunder(close,bott1) and longTrend and close>ta.ema(close,100)
buy2=ta.crossunder(close,bott2) and longTrend and close>ta.ema(close,80)
buy3=ta.crossunder(close,bott3) and longTrend and close>ta.ema(close,80)
buy4=ta.crossunder(close,bott4) and longTrend and close>ta.ema(close,80)
buyclose=bearPinBar or ta.crossunder(close,smaS)




if buy2 or buy3 or buy4 or buy1 and inTradeWindow
    strategy.order("多(buy)",strategy.long)

if buyclose  and inTradeWindow
    strategy.close("多(buy)")

sell1=ta.crossover(close,top1) and shortTrend and close<ta.ema(close,200)
sell2=ta.crossover(close,top2) and shortTrend and close<ta.ema(close,200)
sell3=ta.crossover(close,top3) and shortTrend and close<ta.ema(close,200)
sell4=ta.crossover(close,top4) and shortTrend and close<ta.ema(close,200)
sellclose=bullPinBar or ta.crossover(close,ta.sma(close,220))

if  sell1 or sell2 or sell3 or sell4 and inTradeWindow
    strategy.order("空(sell)",strategy.short)

if sellclose  and inTradeWindow
    strategy.close("空(sell)")