Strategi ini dirancang berdasarkan indikator Bollinger Bands untuk pergi pendek ketika harga pecah di atas band atas dan pergi panjang ketika harga pecah di bawah band bawah, mewujudkan perdagangan pelacakan cerdas.
Strategi ini menggunakan garis tengah, band atas dan band bawah Bollinger Bands sebagai indikator dasar. Garis tengah adalah moving average dari harga penutupan selama n hari. Band atas adalah garis tengah yang bergeser naik dengan dua standar deviasi sementara band bawah bergeser ke bawah dengan dua standar deviasi. Ketika harga melanggar band bawah ke atas, pergi panjang. Ketika harga melanggar band atas ke bawah, pergi pendek. Ini memungkinkan pelacakan harga yang cerdas berdasarkan volatilitas pasar.
Secara khusus, strategi ini terutama 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 band atas, pergi pendek
Ketika kondisi keluar dipicu, gunakan fungsi strategy.cancel() untuk meratakan posisi yang ada.
Keuntungan utama dari strategi ini adalah:
Ada juga beberapa risiko dengan strategi ini:
Solusi yang sesuai:
Strategi dapat dioptimalkan lebih lanjut dengan:
Strategi ini dirancang berdasarkan indikator Bollinger Bands, menggunakan price breakout dari band atas dan bawah untuk melacak harga secara otomatis. Logika sederhana dan sensitif terhadap volatilitas pasar. Optimasi lebih lanjut dapat dilakukan melalui pengaturan parameter dan mekanisme stop loss. Secara keseluruhan strategi ini bekerja dengan baik untuk indeks dan komoditas dengan volatilitas yang lebih tinggi. Pedagang dapat backtest dan mengoptimalkan berdasarkan preferensi 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