
Strategi ini adalah sistem perdagangan frekuensi tinggi yang menggabungkan indikator Bollinger Bands dengan harga Bollinger Bands. Strategi ini dilakukan dengan memantau hubungan posisi harga dengan Bollinger Bands, menggabungkan sinyal penembusan titik tinggi dan rendah di masa lalu, dan melakukan perdagangan reversal ketika pasar mengalami overbought dan oversold. Sistem ini menggunakan risiko keuntungan 1: 1 untuk mengatur stop loss dan menampilkan setiap harga kunci dengan cara visual, membantu pedagang memahami tren pasar secara intuitif.
Logika inti dari strategi ini didasarkan pada dua kondisi penilaian utama: ketika harga melewati titik tinggi sebelumnya dan titik tinggi sebelumnya berada di bawah rel Brin, sinyal multisignal dipicu; ketika harga jatuh di bawah titik rendah sebelumnya dan titik rendah sebelumnya berada di atas rel Brin, sinyal kosong dipicu. Parameter Brin menggunakan rata-rata bergerak 20 periode dengan selisih standar dua kali lipat untuk menilai jangkauan pergerakan pasar dan sistem zona oversold overbought. Setelah sinyal perdagangan dipicu, stop loss dan target yang sesuai akan diatur secara otomatis, dan ditampilkan secara visual melalui garis dengan gaya yang berbeda.
Ini adalah sistem perdagangan lengkap yang mengintegrasikan beberapa konsep analisis teknis. Dengan cara mengkombinasikan indikator Bollinger Bands dengan terobosan harga, strategi ini mampu menangkap peluang reversal di zona overbought dan oversold di pasar. Meskipun ada ruang untuk pengoptimalan, kerangka dasar sistem ini memiliki skalabilitas dan nilai praktis yang baik. Dengan manajemen risiko yang masuk akal dan pengoptimalan parameter, strategi ini diharapkan menghasilkan keuntungan yang stabil dalam perdagangan aktual.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-03 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Band Scalping", overlay=true)
// Input for Bollinger Bands length and standard deviation
bbLength = input(20, title="Bollinger Bands Length")
stdDev = input(2.0, title="Bollinger Bands Std Dev")
// Calculate and plot the Bollinger Bands
basis = ta.sma(close, bbLength)
deviation = stdDev * ta.stdev(close, bbLength)
upperBB = basis + deviation
lowerBB = basis - deviation
// Get previous candle's values
prevHigh = high[1] // Previous candle high
prevLow = low[1] // Previous candle low
// Buy Signal Condition: Current high crossed above previous high and previous high is below the lower Bollinger Band
buyCondition = ta.crossover(high, prevHigh) and (prevHigh < lowerBB[1])
// Sell Signal Condition: Current low crossed below previous low and previous low is above the upper Bollinger Band
sellCondition = ta.crossunder(low, prevLow) and (prevLow > upperBB[1])
// Entry and exit for Buy signals
if (buyCondition)
strategy.entry("Buy", strategy.long)
// Calculate target and stop loss
stopLossPrice = prevLow
targetPrice = prevHigh + (prevHigh - stopLossPrice) // 1:1 RR target
// Set stop loss and target orders
strategy.exit("Sell", "Buy", limit=targetPrice, stop=stopLossPrice)
// // Plot entry line
// line.new(x1=bar_index, y1=prevHigh, x2=bar_index + 12, y2=prevHigh, color=color.green, width=2, style=line.style_solid)
// // Plot stop loss line
// line.new(x1=bar_index, y1=stopLossPrice, x2=bar_index + 12, y2=stopLossPrice, color=color.red, width=1, style=line.style_dashed)
// // Plot target line
// line.new(x1=bar_index, y1=targetPrice, x2=bar_index + 12, y2=targetPrice, color=color.blue, width=2, style=line.style_solid)
// Entry and exit for Sell signals
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Calculate target and stop loss
stopLossPriceSell = prevHigh
targetPriceSell = prevLow - (stopLossPriceSell - prevLow) // 1:1 RR target
// Set stop loss and target orders
strategy.exit("Cover", "Sell", limit=targetPriceSell, stop=stopLossPriceSell)
// // Plot entry line
// line.new(x1=bar_index, y1=prevLow, x2=bar_index + 12, y2=prevLow, color=color.red, width=2, style=line.style_solid)
// // Plot stop loss line
// line.new(x1=bar_index, y1=stopLossPriceSell, x2=bar_index + 12, y2=stopLossPriceSell, color=color.green, width=1, style=line.style_dashed)
// // Plot target line
// line.new(x1=bar_index, y1=targetPriceSell, x2=bar_index + 12, y2=targetPriceSell, color=color.blue, width=2, style=line.style_solid)
// Plotting Bollinger Bands with 70% transparency
plot(upperBB, color=color.red, title="Upper Bollinger Band", transp=70)
plot(lowerBB, color=color.green, title="Lower Bollinger Band", transp=70)
plot(basis, color=color.blue, title="Middle Band", transp=70)