
Strategi ini adalah berdasarkan reka bentuk penunjuk Bollinger Bands, yang melakukan shortcuts apabila harga menembusi Bollinger Bands ke atas, dan melakukan lebih banyak apabila ia menembusi bawah, untuk mencapai perdagangan yang dijejaki secara pintar.
Strategi ini menggunakan garis tengah, atas, dan bawah yang berasaskan indikator dalam Brin Belt. Garis tengah adalah purata bergerak harga penutupan n hari, garis atas adalah dua perbezaan standard yang menyimpang di atas garis tengah, dan garis bawah adalah dua perbezaan standard yang menyimpang di bawah garis tengah. Apabila harga bergerak dari arah bawah, lakukan lebih banyak; apabila harga bergerak dari arah atas, lakukan kosong.
Secara khusus, strategi ini menilai dua indikator utama:
ta.crossover ((source, lower): harga penutupan menembusi ke bawah, melakukan lebih
ta.crossunder{source, upper}: naik ke arah harga penutupan, melakukan pengurangan
Apabila triggering keadaan kedudukan kosong, gunakan fungsi strategy.cancel () untuk melonggarkan kedudukan semasa.
Strategi ini mempunyai kelebihan utama:
Strategi ini mempunyai beberapa risiko:
Penyelesaian:
Strategi ini boleh dioptimumkan lagi:
Strategi ini adalah berdasarkan reka bentuk indikator Brin, menggunakan harga untuk menjejaki secara automatik. Strategi ini mudah difahami, sensitif terhadap turun naik pasaran, dan dapat mengoptimumkan lagi kesan melalui pengoptimuman parameter dan hentian kerugian. Secara umum, strategi ini sesuai untuk indeks saham atau pasaran komoditi yang lebih bergelombang.
/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy with alerts (incl. pending orders) via TradingConnector to Forex", overlay=true)
source = close
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = ta.crossover(source, lower)
sellEntry = ta.crossunder(source, upper)
if (ta.crossover(source, lower))
strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
alert(message='long price='+str.tostring(lower), freq=alert.freq_once_per_bar_close)
else
strategy.cancel(id="BBandLE")
alert(message='cancel long', freq=alert.freq_once_per_bar_close)
if (ta.crossunder(source, upper))
strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
alert(message='short price='+str.tostring(upper), freq=alert.freq_once_per_bar_close)
else
strategy.cancel(id="BBandSE")
alert(message='cancel short', freq=alert.freq_once_per_bar_close)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
//Lines of code added to the original built-in script: 14, 17, 20 and 23 only.
//They trigger alerts ready to be executed on real markets through TradingConnector
//available for Forex, indices, crypto, stocks - anything your broker offers for trading via MetaTrader4/5