
Strategi ini didasarkan pada indikator Bollinger Bands untuk mengidentifikasi peluang jual beli yang optimal dengan menganalisis pergerakan harga relatif terhadap tren atas, tren bawah, dan tren tengah. Strategi ini mengelola posisi multihead dan kosong secara bersamaan, memungkinkan keuntungan dari berbagai arah pasar. Parameter strategi dapat disesuaikan untuk menyesuaikan dengan toleransi risiko dan pendekatan pasar yang berbeda.
Strategi Brin-Band memberikan kerangka kerja yang kuat untuk menghasilkan sinyal perdagangan yang akurat berdasarkan pergerakan harga terhadap Brin-Band. Dengan mengintegrasikan manajemen posisi multi-head dan kosong, parameter yang disesuaikan, dan fitur visual dan peringatan yang intuitif, strategi ini memungkinkan pedagang untuk menangkap peluang dengan percaya diri dalam berbagai kondisi pasar. Meskipun strategi ini berkinerja baik, masih ada ruang untuk pengoptimalan, seperti memasukkan indikator tambahan, perhitungan volatilitas dinamis, teknik manajemen risiko yang kuat, dan penyesuaian posisi adaptif berdasarkan kondisi pasar. Dengan perbaikan dan penyesuaian yang terus-menerus, strategi Brin-Band dapat menjadi pelengkap berharga untuk kotak alat pedagang mana pun, membantu mereka menavigasi pasar yang dinamis dan memaksimalkan keuntungan.
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy with Long and Short", overlay=true)
// Bollinger Bands settings
length = input.int(20, title="BB Length")
src = input(close, title="Source")
mult = input.float(2.0, title="BB Multiplier")
// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Plot Bollinger Bands
plot(basis, color=color.blue, linewidth=1, title="Basis")
p1 = plot(upper, color=color.red, linewidth=1, title="Upper Band")
p2 = plot(lower, color=color.green, linewidth=1, title="Lower Band")
fill(p1, p2, color=color.rgb(173, 216, 230, 90))
// Long Buy and Sell conditions
buyConditionLower = ta.crossover(src, lower)
sellConditionUpper = ta.crossunder(src, upper)
buyConditionBasis = ta.crossover(src, basis)
sellConditionBasis = ta.crossunder(src, basis)
// Combine long conditions
buyCondition = buyConditionLower or buyConditionBasis
sellCondition = sellConditionUpper or sellConditionBasis
// Short Sell and Buy conditions
shortConditionUpper = ta.crossunder(src, upper)
coverConditionLower = ta.crossover(src, lower)
shortConditionBasis = ta.crossunder(src, basis)
coverConditionBasis = ta.crossover(src, basis)
// Combine short conditions
shortCondition = shortConditionUpper or shortConditionBasis
coverCondition = coverConditionLower or coverConditionBasis
// Execute strategy orders for long
if (buyCondition)
strategy.entry("Long", strategy.long)
if (sellCondition)
strategy.close("Long")
// Execute strategy orders for short
if (shortCondition)
strategy.entry("Short", strategy.short)
if (coverCondition)
strategy.close("Short")
// Plot Buy and Sell signals for long
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", title="Buy Signal")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", title="Sell Signal")
// Plot Sell and Cover signals for short
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT", title="Short Signal")
plotshape(series=coverCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="COVER", title="Cover Signal")
// Alert conditions for long
alertcondition(buyCondition, title="Buy Alert", message="Price crossed above the lower Bollinger Band or Basis")
alertcondition(sellCondition, title="Sell Alert", message="Price crossed below the upper Bollinger Band or Basis")
// Alert conditions for short
alertcondition(shortCondition, title="Short Alert", message="Price crossed below the upper Bollinger Band or Basis")
alertcondition(coverCondition, title="Cover Alert", message="Price crossed above the lower Bollinger Band or Basis")