Strategi ini adalah sistem dagangan adaptif berdasarkan Bollinger Bands, menguruskan kedudukan dengan memantau secara dinamik hubungan antara harga dan band. Ia menggunakan purata bergerak 20 hari sebagai band tengah, 2 penyimpangan standard untuk lebar saluran, dan menggabungkan pengesahan pecah dengan analisis tempoh masa untuk mencetuskan isyarat dagangan untuk peruntukan modal yang optimum.
Strategi ini menggunakan prinsip statistik Bollinger Bands, mengawal turun naik harga dalam julat pengagihan biasa.
Strategi ini menubuhkan sistem perdagangan yang lengkap melalui Bollinger Bands dan analisis tempoh masa, mencapai keseimbangan antara trend berikut dan kawalan risiko. Walaupun terdapat ruang untuk pengoptimuman, falsafah reka bentuk keseluruhan sejajar dengan prinsip perdagangan kuantitatif teras dan mempunyai nilai aplikasi praktikal. Pelabur dinasihatkan untuk membuat penyesuaian yang sesuai berdasarkan toleransi risiko dan saiz modal mereka dalam perdagangan langsung.
/*backtest start: 2024-11-11 00:00:00 end: 2024-12-10 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Strategy", overlay=true) // 設定布林通道 length = 20 source = close mult = 2.0 basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upper = basis + dev lower = basis - dev // 畫出布林通道 plot(upper, color=color.red, linewidth=1) plot(basis, color=color.blue, linewidth=1) plot(lower, color=color.green, linewidth=1) // 設定買入條件:突破布林通道高點5%或持續1小時在高點上方 breakout_level = upper * 1.01 hour_breakout = ta.change(time("60")) == 1 and close > upper buy_condition = (close > breakout_level or hour_breakout) if (buy_condition) strategy.entry("Buy", strategy.long, qty=0.5) // 設定賣出條件:第一次回測中線、跌破低點5%或回升中線 sell_10_condition = ta.crossover(close, basis) and strategy.opentrades > 0 sell_50_condition = close < lower * 0.95 // 賣出10%現貨 if (sell_10_condition) strategy.close("Buy", qty=0.1) // 賣出50%現貨 if (sell_50_condition) strategy.close("Buy", qty=0.5) // 監控買入與賣出信號 plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=sell_10_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell 10% Signal") plotshape(series=sell_50_condition, location=location.abovebar, color=color.blue, style=shape.labeldown, title="Sell 50% Signal")