Strategi mengikuti tren dengan melintasi saluran BB dan menembus rata-rata pergerakan SMA200


Tanggal Pembuatan: 2023-11-16 11:04:42 Akhirnya memodifikasi: 2023-11-16 11:04:42
menyalin: 0 Jumlah klik: 700
1
fokus pada
1617
Pengikut

Strategi mengikuti tren dengan melintasi saluran BB dan menembus rata-rata pergerakan SMA200

Ringkasan

Strategi ini menggabungkan Bollinger Bands dan Moving Averages untuk mendesain sistem perdagangan yang mengikuti tren. Anda dapat melakukan over trade ketika harga menembus Bollinger Bands dan naik lebih tinggi dari SMA200, melakukan partial stop loss ketika harga menembus Bollinger Bands dan turun lebih rendah dari SMA200, dan melakukan total stop loss ketika harga turun di bawah SMA200. Strategi ini mengikuti tren dan menghentikan kerugian sewaktu tren berubah.

Prinsip Strategi

  1. Menghitung SMA200 Exponential Moving Average sebagai indikator untuk menentukan tren besar
  2. Perhitungan Brin Belt, yang terdiri dari rel atas, rel tengah, dan rel bawah, dan diisi dengan warna sebagai area keuntungan
  3. Ketika BRI naik turun di atas SMA200, itu menunjukkan tren naik
  4. Ketika harga naik ke arah Bollinger Bands, Anda harus melakukan over entry.
  5. Ketika harga turun ke bawah, Bollinger Bands turun, sebagian bernegosiasi.
  6. Ketika harga turun di bawah SMA200, itu menunjukkan bahwa tren besar telah berbalik, dan semua posisi kosong.
  7. Menetapkan Stop Loss untuk Mencegah Kerugian Terlalu Besar
  8. Jumlah transaksi berdasarkan dana akun dan risiko yang dapat ditanggung

Strategi ini menilai keberadaan tren dengan asumsi bahwa Bollinger Bands perlu berada sepenuhnya di atas SMA200 dan hanya akan memilih masuk ke arah multihead dalam tren naik yang jelas. Ketika tren turun datang, kendalikan risiko dengan stop loss saham dan stop loss posisi penuh pada titik kritis.

Analisis Keunggulan

  1. Ada kecenderungan yang jelas untuk menggunakan penilaian Brin, bukan berdasarkan satu indikator.
  2. SMA 200 menilai arah tren besar, menghindari perdagangan sia-sia dalam kondisi goyah
  3. Beberapa Stop Loss dan Loss Gain, Pelacakan Tren
  4. Stop loss pada titik kritis, untuk menghindari kerugian yang lebih besar
  5. Menghitung jumlah transaksi memperkenalkan konsep manajemen risiko untuk mencegah kerugian tunggal yang terlalu besar

Analisis risiko

  1. Signal perdagangan yang dihasilkan oleh Brin Band Up and Down Breakdown mungkin memiliki tingkat sinyal palsu yang lebih tinggi
  2. Beberapa pengaturan stop loss perlu dioptimalkan untuk mencegah stop loss prematur
  3. Stop loss terlalu kecil, mungkin terlalu sering terjadi
  4. Parameter siklus SMA memerlukan pengujian optimasi untuk menyeimbangkan latensi dan sensitivitas
  5. Metode penghitungan jumlah transaksi mungkin perlu dioptimalkan untuk mencegah over-the-counter

Risiko ini dapat dikurangi dengan menguji parameter Brin dengan hati-hati, mengoptimalkan strategi stop loss parsial, menyesuaikan parameter siklus SMA, dan memperkenalkan metode manajemen risiko yang lebih ilmiah.

Arah optimasi

  1. Pengujian Optimasi Parameter Brin-Band untuk Mengurangi Kesalahan Sinyal
  2. Studi tentang cara menetapkan titik-titik berhenti parsial yang lebih tepat
  3. Nilai optimal untuk menguji parameter siklus SMA
    1. Pertimbangkan untuk memperkenalkan stop loss adaptif sebagai pengganti stop loss tetap
  4. Penelitian memperkenalkan volatility quota untuk menghitung skala transaksi secara lebih ilmiah
  5. Retrospektif menambahkan biaya transaksi untuk simulasi
  6. Pertimbangkan untuk digunakan dalam kombinasi dengan indikator lain untuk meningkatkan stabilitas strategi

Meringkaskan

Strategi ini mengintegrasikan Bollinger Bands, SMA Average Line Indicator untuk merancang strategi pelacakan tren yang lebih lengkap. Strategi ini lebih dapat diandalkan dalam menilai adanya tren, dan memiliki kemampuan pelacakan tren yang lebih kuat. Strategi ini dapat menjadi strategi tren yang layak untuk dilacak secara real-time dalam jangka panjang dengan terus-menerus mengoptimalkan strategi stop loss, mengurangi tingkat kesalahan sinyal, dan memperkenalkan metode manajemen risiko ilmiah.

Kode 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