Strategi ini didasarkan pada indikator Bollinger Bands dan menghasilkan sinyal perdagangan ketika harga menembus band atas atau bawah. Ini pergi panjang ketika harga menembus band atas dan pergi pendek ketika harga menembus band bawah. Selain itu, jika memegang posisi panjang, itu menutup posisi ketika harga jatuh di bawah band bawah; jika memegang posisi pendek, itu menutup posisi ketika harga menembus band atas. Strategi ini bertujuan untuk menangkap volatilitas pasar, memasuki perdagangan ketika fluktuasi harga meningkat dan keluar dengan cara yang tepat waktu ketika harga terbalik.
Strategi BB Breakout adalah strategi perdagangan yang didasarkan pada indikator Bollinger Bands, mencari peluang perdagangan ketika harga menembus band atas atau bawah. Keuntungan strategi ini adalah sinyal yang jelas dan penerapan yang mudah, dengan langkah-langkah pengendalian risiko tertentu. Namun, strategi ini juga memiliki beberapa keterbatasan, seperti frekuensi perdagangan yang berpotensi tinggi dan keterlambatan sinyal. Oleh karena itu, dalam aplikasi praktis, perbaikan dapat dipertimbangkan di bidang seperti konfirmasi sinyal, pengoptimalan stop-loss, dan pengoptimalan parameter untuk meningkatkan stabilitas dan profitabilitas 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")