Trend mengikut strategi melintasi saluran BB dan menembusi purata pergerakan SMA200


Tarikh penciptaan: 2023-11-16 11:04:42 Akhirnya diubah suai: 2023-11-16 11:04:42
Salin: 0 Bilangan klik: 700
1
fokus pada
1617
Pengikut

Trend mengikut strategi melintasi saluran BB dan menembusi purata pergerakan SMA200

Gambaran keseluruhan

Strategi ini menggabungkan Bollinger Bands dan Moving Averages untuk merancang sistem perdagangan yang mengikuti trend. Buat lebih banyak apabila harga menembusi Bollinger Bands dan lebih rendah daripada SMA200, pasang separuh apabila harga menembusi Bollinger Bands, dan pasang sepenuhnya apabila harga menembusi SMA200. Strategi ini mengikuti trend dan berhenti tepat pada masanya apabila trend berubah.

Prinsip Strategi

  1. Hitung SMA200 Exponential Moving Average sebagai penunjuk trend besar
  2. Hitung jalur Brin, yang merangkumi jalur atas, tengah, bawah, dan mengisi warna sebagai kawasan keuntungan
  3. Apabila BRI naik dan turun di atas SMA200, ia menunjukkan bahawa ia berada dalam trend naik
  4. Apabila harga melangkau ke arah atas melalui Brin Belt Mid-Trail, masuk lebih banyak
  5. Sebahagian daripada penutupan ketika harga turun ke bawah dan menembusi BRI.
  6. Apabila harga jatuh di bawah SMA200, ia menunjukkan bahawa trend besar telah berbalik dan semua saham telah dipadamkan.
  7. Tetapkan titik berhenti untuk mengelakkan kerugian yang berlebihan
  8. Bilangan dagangan berdasarkan dana akaun dan risiko yang boleh diterima

Strategi ini menilai kewujudan trend dengan mengandaikan bahawa Brin Belt perlu berada sepenuhnya di atas SMA200, dan hanya akan memilih masuk ke arah yang lebih banyak jika terdapat kecenderungan kenaikan yang jelas. Apabila kecenderungan menurun datang, mengawal risiko dengan berhenti saham dan berhenti posisi penuh pada titik kritikal.

Analisis kelebihan

  1. Terdapat trend yang jelas untuk menggunakan penghakiman Brin, dan bukannya berdasarkan satu petunjuk
  2. SMA200 menilai arah trend besar, mengelakkan perdagangan sia-sia dalam keadaan goyah
  3. Sebahagian daripada kerugian yang dibiayai, trend yang dikesan
  4. Hentikan Kerosakan di Titik Kunci, Hentikan Kerosakan pada Waktu yang Tepat, dan Hindari Kerosakan yang Lebih Besar
  5. Menghitung jumlah dagangan memperkenalkan konsep pengurusan risiko untuk mengelakkan kerugian tunggal yang terlalu besar

Analisis risiko

  1. Sinyal perdagangan yang dihasilkan oleh Brin Belt Breakdown mungkin mempunyai kadar isyarat palsu yang tinggi
  2. Sesetengah tetapan titik henti perlu dioptimumkan untuk mengelakkan hentian awal
  3. Stop loss terlalu kecil dan mungkin terlalu kerap
  4. Parameter kitaran SMA memerlukan pengoptimuman ujian untuk mengimbangi kelewatan dan kepekaan
  5. Kaedah pengiraan jumlah transaksi mungkin perlu dioptimumkan untuk mengelakkan pembayaran yang berlebihan

Risiko ini dapat dikurangkan dengan menguji parameter Brin dengan teliti, mengoptimumkan strategi penutupan sebahagian, menyesuaikan parameter kitaran SMA, dan memperkenalkan kaedah pengurusan risiko yang lebih saintifik.

Arah pengoptimuman

  1. Uji optimasi parameter Brinband untuk mengurangkan kesalahan pengesanan isyarat
  2. Kajian bagaimana untuk menetapkan titik berhenti separa yang lebih sesuai
  3. Nilai optimum untuk ujian parameter kitaran SMA
    1. Pertimbangkan untuk memperkenalkan halangan adaptasi sebagai gantian kepada halangan tetap
  4. Kajian memperkenalkan kadar turun naik untuk lebih saintifik dalam mengira skala urus niaga
  5. Simulasi untuk mengkaji semula kos tambah transaksi
  6. Pertimbangkan untuk digunakan dalam kombinasi dengan indikator lain untuk meningkatkan kestabilan strategi

ringkaskan

Strategi ini menggabungkan saluran Brin dan SMA untuk merancang strategi pemantauan trend yang lebih lengkap. Ia lebih dipercayai untuk menilai kewujudan trend dan mempunyai keupayaan pemantauan trend yang lebih kuat. Dengan terus-menerus mengoptimumkan strategi stop-loss, mengurangkan kadar kesalahan isyarat, dan memperkenalkan kaedah pengurusan risiko saintifik, strategi ini boleh menjadi strategi trend yang bernilai untuk dijejaki dalam jangka masa panjang.

Kod sumber strategi
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
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/
// © mohanee

//@version=4
strategy(title="BB9_MA200_Strategy", overlay=true, pyramiding=1,     default_qty_type=strategy.cash,  initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed, 


var stopLossVal=0.00

//variables BEGIN
smaLength=input(200,title="MA Length")
bbLength=input(21,title="BB Length")  

bbsrc = input(close, title="BB Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")


stopLoss = input(title="Stop Loss%", defval=5, minval=1)

riskCapital = input(title="Risk % of capital  == Based on this trade size is claculated    numberOfShares = (AvailableCapital*risk/100) / stopLossPoints", defval=10, minval=1)


sma200=ema(close,smaLength)

plot(sma200, title="SMA 200", color=color.orange)


//bollinger calculation
basis = sma(bbsrc, bbLength)
dev = mult * stdev(bbsrc, bbLength)
upperBand = basis + dev
lowerBand = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)

//plot bb
plot(basis, "Basis", color=color.teal, style=plot.style_circles , offset = offset)
p1 = plot(upperBand, "Upper", color=color.teal, offset = offset)
p2 = plot(lowerBand, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=color.teal, transp=95)


strategy.initial_capital = 50000

//Entry---

strategy.entry(id="LE", comment="LE capital="+tostring(strategy.initial_capital + strategy.netprofit ,"######.##"), qty=( (strategy.initial_capital + strategy.netprofit ) * riskCapital / 100)/(close*stopLoss/100) , long=true,  when=strategy.position_size<1 and upperBand>sma200 and lowerBand > sma200 and crossover(close, basis) )     //  // aroonOsc<0  //(strategy.initial_capital * 0.10)/close


barcolor(color=strategy.position_size>=1? color.blue: na)

//partial Exit
tpVal=strategy.position_size>1 ? strategy.position_avg_price * (1+(stopLoss/100) ) : 0.00
strategy.close(id="LE", comment="Partial points="+tostring(close - strategy.position_avg_price, "####.##"),  qty_percent=30 , when=abs(strategy.position_size)>=1 and close>tpVal and crossunder(lowerBand, sma200)   )   //close<ema55 and rsi5Val<20 //ema34<ema55


//close All on stop loss
//stoploss
stopLossVal:=   strategy.position_size>1 ? strategy.position_avg_price * (1-(stopLoss/100) ) : 0.00

strategy.close_all( comment="SL Exit points="+tostring(close - strategy.position_avg_price, "####.##"),  when=abs(strategy.position_size)>=1 and close < stopLossVal  )  //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89//

strategy.close_all( comment="BB9 X SMA200 points="+tostring(close - strategy.position_avg_price, "####.##"),  when=abs(strategy.position_size)>=1 and  crossunder(basis, sma200)  )  //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89