Strategi ini menggabungkan penunjuk Supertrend dan penunjuk Bollinger Bands untuk menangkap peluang trend di pasaran. Penunjuk Supertrend digunakan untuk menentukan arah trend pasaran semasa, sementara penunjuk Bollinger Bands digunakan untuk mengukur turun naik pasaran. Isyarat panjang dihasilkan apabila harga penutupan melanggar di atas garis Supertrend dan berada di bawah Bollinger Band bawah, dan isyarat pendek dihasilkan apabila harga penutupan melanggar di bawah garis Supertrend dan berada di atas Bollinger Band atas. Kelebihan strategi ini adalah bahawa ia boleh memasuki pasaran dengan tepat pada masanya apabila trend jelas, sambil mengelakkan kemasukan awal ke pasaran yang bergolak.
Strategi gabungan Supertrend Bollinger Band adalah strategi trend-mengikuti yang boleh menangkap peluang trend dengan berkesan dengan menggabungkan dua faktor pasaran: trend dan turun naik. Walau bagaimanapun, strategi ini juga mempunyai batasan tertentu, seperti sensitif terhadap parameter dan peningkatan risiko dalam persekitaran turun naik yang tinggi. Oleh itu, dalam aplikasi sebenar, adalah perlu untuk mengoptimumkan dan meningkatkan strategi dengan sewajarnya mengikut ciri pasaran dan keutamaan risiko seseorang.
/*backtest start: 2024-03-21 00:00:00 end: 2024-03-28 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © sabhiv27 //@version=4 strategy("Supertrend & Bollinger Bands Strategy", shorttitle="ST_BB_Strategy", overlay=true) // Input options factor = input(3, title="Supertrend Factor") length = input(10, title="ATR Length") bollinger_length = input(20, title="Bollinger Bands Length") bollinger_deviation = input(2, title="Bollinger Bands Deviation") // Calculate True Range for Supertrend truerange = rma(tr, length) // Calculate Supertrend var float up_trend = na var float dn_trend = na var float trend = na up_signal = hl2 - (factor * truerange) dn_signal = hl2 + (factor * truerange) up_trend := close[1] > up_trend[1] ? max(up_signal, up_trend[1]) : up_signal dn_trend := close[1] < dn_trend[1] ? min(dn_signal, dn_trend[1]) : dn_signal trend := close > dn_trend ? 1 : close < up_trend ? -1 : nz(trend[1], 1) // Calculate Bollinger Bands basis = sma(close, bollinger_length) dev = stdev(close, bollinger_length) upper_band = basis + bollinger_deviation * dev lower_band = basis - bollinger_deviation * dev // Entry conditions long_condition = crossover(close, up_trend) and close < lower_band short_condition = crossunder(close, dn_trend) and close > upper_band // Exit conditions exit_long_condition = crossover(close, dn_trend) exit_short_condition = crossunder(close, up_trend) // Plot Supertrend plot(trend == 1 ? up_trend : dn_trend, color=trend == 1 ? color.green : color.red, linewidth=2) // Plot Bollinger Bands plot(upper_band, color=color.blue) plot(lower_band, color=color.blue) // Generate buy and sell signals strategy.entry("Long", strategy.long, when=long_condition) strategy.entry("Short", strategy.short, when=short_condition) strategy.close("Long", when=exit_long_condition) strategy.close("Short", when=exit_short_condition)