
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.
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.
Strategi penembusan pita gelombang ganda memiliki keuntungan sebagai berikut:
Strategi untuk menembus zona dua gelombang juga memiliki beberapa risiko:
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.
Strategi penembusan pita gelombang ganda dapat dioptimalkan dalam beberapa hal:
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.
/*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)