Strategi ini didasarkan pada indikator Bollinger Bands. Ini memasuki posisi panjang ketika harga penutupan melanggar band atas dan memasuki posisi pendek ketika harga penutupan melanggar band bawah. Kondisi keluar untuk posisi panjang adalah ketika harga jatuh di bawah band tengah, dan kondisi keluar untuk posisi pendek adalah ketika harga melanggar band tengah. Strategi ini menggunakan posisi harga relatif terhadap band atas dan bawah Bollinger Bands untuk menentukan arah tren dan waktu masuk dan keluar.
Strategi ini adalah strategi klasik yang mengikuti tren yang menangkap pasar yang sedang tren menggunakan Bollinger Bands. Logika strategi jelas, dan kelebihannya jelas, tetapi juga memiliki risiko tertentu. Dengan mengoptimalkan stop-loss, profit-taking, manajemen posisi, dan filter entri, kinerja strategi dapat ditingkatkan, dan kemampuan beradaptasi dapat ditingkatkan. Namun, setiap strategi memiliki keterbatasan dan perlu diterapkan secara fleksibel seiring dengan kondisi pasar yang sebenarnya.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0 // This displays the traditional Bollinger Bands, the difference is // that the 1st and 2nd StdDev are outlined with two colors and two // different levels, one for each Standard Deviation strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true) src = input(close) length = input.int(20, minval=1, title = "Length") mult = input.float(2.0, minval=0.001, maxval=50, title = "Multiplier") basis = ta.sma(src, length) dev = ta.stdev(src, length) dev2 = mult * dev upper1 = basis + dev lower1 = basis - dev upper2 = basis + dev2 lower2 = basis - dev2 // Strategy long_condition = ta.crossover(close, upper1) short_condition = ta.crossunder(close, lower1) if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) // Exit conditions exit_long_condition = ta.crossunder(close, basis) exit_short_condition = ta.crossover(close, basis) if (exit_long_condition) strategy.close("Long") if (exit_short_condition) strategy.close("Short") colorBasis = src >= basis ? color.blue : color.orange pBasis = plot(basis, linewidth=2, color=colorBasis) pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles) pUpper2 = plot(upper2, color=color.new(color.blue, 0)) pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles) pLower2 = plot(lower2, color=color.new(color.orange, 0)) fill(pBasis, pUpper2, color=color.new(color.blue, 80)) fill(pUpper1, pUpper2, color=color.new(color.blue, 80)) fill(pBasis, pLower2, color=color.new(color.orange, 80)) fill(pLower1, pLower2, color=color.new(color.orange, 80))