Strategi ini adalah berdasarkan kepada penunjuk Bollinger Bands dan menghasilkan isyarat perdagangan apabila harga memecahkan jalur atas atau bawah. Ia pergi lama apabila harga memecahkan di atas jalur atas dan pergi pendek apabila harga memecahkan di bawah jalur bawah. Di samping itu, jika memegang kedudukan panjang, ia menutup kedudukan apabila harga jatuh di bawah jalur bawah; jika memegang kedudukan pendek, ia menutup kedudukan apabila harga memecahkan di atas jalur atas. Strategi ini bertujuan untuk menangkap turun naik pasaran, memasuki perdagangan apabila turun naik harga meningkat dan keluar dengan tepat pada masanya apabila harga terbalik.
Strategi BB Breakout adalah strategi dagangan berdasarkan penunjuk Bollinger Bands, mencari peluang dagangan apabila harga menembusi jalur atas atau bawah. Kelebihan strategi ini adalah isyarat yang jelas dan pelaksanaan yang mudah, dengan langkah-langkah kawalan risiko tertentu. Walau bagaimanapun, strategi ini juga mempunyai beberapa batasan, seperti kekerapan perdagangan yang berpotensi tinggi dan kelewatan isyarat. Oleh itu, dalam aplikasi praktikal, penambahbaikan boleh dipertimbangkan dalam bidang seperti pengesahan isyarat, pengoptimuman stop-loss, dan pengoptimuman parameter untuk meningkatkan kestabilan dan keuntungan strategi.
/*backtest start: 2023-06-08 00:00:00 end: 2024-06-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BB Strategy", overlay=true) // Input parameters length = input.int(20, minval=1, title="Length") maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") offset = input.int(0, "Offset", minval=-500, maxval=500, title="Offset") // Moving average function ma(source, length, _type) => switch _type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) // Calculate Bollinger Bands basis = ma(src, length, maType) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plot(basis, "Basis", color=color.blue, offset=offset) p1 = plot(upper, "Upper", color=color.red, offset=offset) p2 = plot(lower, "Lower", color=color.green, offset=offset) fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95)) // Strategy logic longCondition = ta.crossover(close, upper) shortCondition = ta.crossunder(close, lower) // Strategy entries and exits if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (shortCondition and strategy.position_size > 0) strategy.close("Long") if (longCondition and strategy.position_size < 0) strategy.close("Short")