
Strategi ini adalah sistem perdagangan trend reversal berdasarkan indikator Bollinger Bands, untuk menangkap peluang pembalikan pasaran dengan memantau hubungan harga dengan sentuhan Bollinger Bands. Strategi ini berjalan pada kitaran masa 5 minit, menggunakan purata bergerak 20 kitaran sebagai Bollinger Bands mid-trail, dan menetapkan 3.4 kali standard deviation sebagai parameter untuk Bollinger Bands down-trail.
Logik strategi ini adalah berdasarkan kepada teori regresi harga. Apabila harga menyentuh Bollinger Bands, sistem menganggap pasaran telah oversold dan cenderung melakukan lebih banyak; apabila harga menyentuh Bollinger Bands, sistem menganggap pasaran telah overbought dan cenderung melakukan shorting.
Strategi ini menangkap peluang pembalikan pasaran melalui sentuhan Brin, dengan ciri-ciri kejernihan logik, kawalan risiko yang munasabah. Dengan tetapan parameter yang munasabah dan peraturan perdagangan yang baik, strategi ini menunjukkan kestabilan yang baik dalam pasaran yang bergolak. Tetapi ketika digunakan di tempat kerja, masih perlu berhati-hati terhadap risiko penembusan trend, disarankan untuk melakukan pengesahan perdagangan bersama dengan petunjuk teknikal lain, dan menyesuaikan parameter strategi mengikut keadaan pasaran. Arah pengoptimuman terutama tertumpu pada sinkronisasi pelbagai kitaran, penapisan trend dan penyesuaian parameter dinamik.
/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-11 00:00:00
period: 5h
basePeriod: 5h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("5-Min Bollinger Bands Touch Strategy", overlay=true, margin_long=100, margin_short=100)
// Input parameters
length = input(20, title="Bollinger Bands Length")
mult = input(3.4, title="Bollinger Bands Deviation")
// Bollinger Bands calculation
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
// Plot Bollinger Bands
plot(basis, color=color.blue, title="Basis")
p1 = plot(upper, color=color.red, title="Upper Band")
p2 = plot(lower, color=color.green, title="Lower Band")
fill(p1, p2, color=color.new(color.gray, 90))
// Bullish buying condition: 5-min low touches lower Bollinger Band
bullish_entry = low <= lower and low[1] > lower[1]
// Bearish selling condition: 5-min high touches upper Bollinger Band
bearish_entry = high >= upper and high[1] < upper[1]
// Entry and exit conditions
longCondition = bullish_entry
shortCondition = bearish_entry
// Strategy entries
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Optional: Add exit conditions (you may want to customize these)
// Example: Exit long position after a certain profit or loss
strategy.close("Long", when = high >= basis)
strategy.close("Short", when = low <= basis)
// Alerts
alertcondition(bullish_entry, title='Bullish BB Touch', message='5-min low touched Lower Bollinger Band')
alertcondition(bearish_entry, title='Bearish BB Touch', message='5-min high touched Upper Bollinger Band')
// Plot entry points
plotshape(bullish_entry, title="Bullish Entry", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green)
plotshape(bearish_entry, title="Bearish Entry", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)