Strategi Breakout Double Band


Tanggal Pembuatan: 2023-12-25 13:20:31 Akhirnya memodifikasi: 2023-12-25 13:20:31
menyalin: 0 Jumlah klik: 746
1
fokus pada
1623
Pengikut

Strategi Breakout Double Band

Ringkasan

Strategi penembusan pita gelombang ganda adalah strategi pelacakan tren. Ini menggunakan tren naik dan turun dari pita gelombang untuk menilai tren harga, dan membangun posisi multi-head ketika harga menembus pita gelombang internal, dan melonggarkan posisi ketika harga jatuh dari pita gelombang eksternal.

Prinsip Strategi

Strategi ini pertama-tama menghitung rata-rata dan selisih standar dalam periode yang ditentukan, dengan menyesuaikan nilai selisih standar untuk membangun band gelombang ganda. Band gelombang internal terdiri dari rata-rata positif negatif satu selisih standar, dan band gelombang eksternal terdiri dari rata-rata positif negatif 1,5 selisih standar.

Ketika harga menembus rel internal, dianggap bahwa pasar memulai bull market, jadi melakukan lebih banyak; ketika harga jatuh dari rel internal, dianggap bahwa pasar memulai bear market, jadi melakukan short.

Kondisi penarikan stop setelah over adalah harga jatuh ke bawah rel eksternal. Kondisi penarikan stop setelah short adalah harga menembus rel eksternal.

Strategi ini juga menyertakan mekanisme penarikan seperti Stop Loss, Stop Loss, dan Stop Loss Tracking.

Analisis Keunggulan

Strategi penembusan pita gelombang ganda memiliki keuntungan sebagai berikut:

  1. Menggunakan dua pita gelombang untuk menilai pergerakan harga, dapat secara efektif melacak tren;
  2. Menembus volatilitas internal dan membangun posisi, menghindari perdagangan yang tidak perlu;
  3. Pengaturan Stop Loss, Stop Loss, dan Trace Stop Loss untuk mengontrol risiko secara efektif;
  4. Parameter dapat disesuaikan dan dioptimalkan untuk varietas yang berbeda.

Analisis risiko

Strategi untuk menembus zona dua gelombang juga memiliki beberapa risiko:

  1. Pada saat pasar bergejolak, sering terjadi penarikan posisi dan stop loss;
  2. Penetapan parameter yang tidak tepat dapat menyebabkan penyimpanan yang terlalu mudah atau sulit untuk dihentikan;
  3. Penembusan kadang-kadang memiliki ciri-ciri sinyal palsu, yang dapat menimbulkan risiko penembusan palsu.

Untuk risiko di atas, parameter dapat disesuaikan dengan tepat, atau digabungkan dengan indikator lain untuk memfilter, atau secara manual memantau dampak dari terobosan, untuk mengurangi risiko.

Arah optimasi

Strategi penembusan pita gelombang ganda dapat dioptimalkan dalam beberapa hal:

  1. Mengoptimalkan parameter rata-rata dan standar deviasi untuk membuat pita gelombang lebih sesuai dengan karakteristik varietas yang berbeda;
  2. Menambahkan penyaringan untuk indikator seperti Volume dan MACD, untuk menghindari penembusan palsu;
  3. Menggunakan metode pembelajaran mesin untuk mengoptimalkan parameter secara dinamis;
  4. Strategi untuk menyalin dalam frekuensi tinggi, memperluas ruang untuk keuntungan.

Meringkaskan

Strategi penembusan pita gelombang ganda adalah strategi pelacakan tren yang lebih khas. Strategi ini menggunakan zona keuntungan yang ditetapkan oleh pita gelombang ganda, dan mengatur mekanisme keluar ilmiah untuk mengendalikan risiko, yang dapat memberikan efek yang lebih baik jika parameter dioptimalkan dan risiko dikendalikan.

Kode Sumber Strategi
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BB Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=100, overlay=true)
l=input(title="length",defval=100)
pbin=input(type=float,step=.1,defval=.25)
pbout=input(type=float,step=.1,defval=1.5)
ma=sma(close,l)
sin=stdev(ma,l)*pbin
sout=stdev(ma,l)*pbout
inu=sin+ma
inb=-sin+ma
outu=sout+ma
outb=-sout+ma
plot(inu,color=lime)
plot(inb,color=lime)
plot(outu,color=red)
plot(outb,color=yellow)

inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na


longCondition = close>inu and rising(outu,1) 
exitlong = (open[1]>outu and close<outu) or crossunder(close,ma)

shortCondition = close<inb and falling(outb,1)
exitshort = (open[1]<outb and close>outb) or crossover(close,ma)

strategy.entry(id = "Long", long=true, when = longCondition)
strategy.close(id = "Long", when = exitlong)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)

strategy.entry(id = "Short", long=false, when = shortCondition)
strategy.close(id = "Short", when = exitshort)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)