Strategi ini direka berdasarkan penunjuk Bollinger Bands untuk pergi pendek apabila harga memecahkan di atas band atas dan pergi panjang apabila harga memecahkan di bawah band bawah, merealisasikan perdagangan penjejakan pintar.
Strategi ini menggunakan garis tengah, band atas dan band bawah Bollinger Bands sebagai penunjuk asas. Garis tengah adalah purata bergerak harga penutupan selama n hari. Garis atas adalah garis tengah yang bergeser ke atas dengan dua penyimpangan standard sementara band bawah bergeser ke bawah dengan dua penyimpangan standard. Apabila harga memecahkan band bawah ke atas, pergi panjang. Apabila harga memecahkan band atas ke bawah, pergi pendek. Ini membolehkan penjejakan harga yang pintar berdasarkan turun naik pasaran.
Secara khusus, strategi ini terutamanya menilai dua metrik:
ta.crossover ((sumber, lebih rendah): harga penutupan pecah di atas band bawah, pergi panjang
ta.crossunder ((sumber, atas): harga penutupan pecah di bawah jalur atas, pergi pendek
Apabila keadaan keluar dicetuskan, gunakan fungsi strategi.cancel() untuk meratakan kedudukan sedia ada.
Kelebihan utama strategi ini ialah:
Terdapat juga beberapa risiko dengan strategi ini:
Penyelesaian yang sepadan:
Strategi ini boleh dioptimumkan lagi dengan:
Strategi ini direka berdasarkan penunjuk Bollinger Bands, menggunakan penembusan harga band atas dan bawah untuk mengesan harga secara automatik. Logiknya mudah dan sensitif terhadap turun naik pasaran. Pengoptimuman lanjut boleh dilakukan melalui mekanisme penyesuaian parameter dan stop loss. Secara keseluruhan strategi ini berfungsi dengan baik untuk indeks dan komoditi dengan turun naik yang lebih tinggi. Pedagang boleh backtest dan mengoptimumkan berdasarkan keutamaan perdagangan mereka untuk memperoleh strategi perdagangan astika.
/*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