
Strategi ini adalah sistem perdagangan frekuensi tinggi yang menggabungkan indikator Brin dengan harga yang pecah. Strategi ini melakukan perdagangan terbalik apabila pasaran mengalami overbought dan oversold dengan memantau hubungan kedudukan harga dengan Brin, digabungkan dengan isyarat penembusan titik tinggi dan rendah pada masa lalu. Sistem ini menggunakan 1: 1 risiko keuntungan berbanding menetapkan hentian dan berhenti, dan menunjukkan setiap harga utama dengan cara visual, membantu pedagang memahami pergerakan pasaran secara langsung.
Logik teras strategi ini dibina pada dua syarat penghakiman utama: apabila harga menembusi paras tinggi sebelum dan paras tinggi sebelum berada di bawah bawah Brin Belt, mencetuskan beberapa isyarat; apabila harga jatuh di bawah paras rendah sebelum dan paras rendah sebelum berada di atas Brin Belt, mencetuskan isyarat kosong. Parameter Brin Belt menggunakan purata bergerak 20 kitaran dengan kecacatan standard dua kali ganda untuk menentukan ruang pergerakan pasaran dan sistem zon oversold overbought.
Ini adalah sistem perdagangan yang lengkap yang mengintegrasikan beberapa konsep analisis teknikal. Dengan cara menggabungkan indikator Bollinger Bands dengan penembusan harga, strategi ini dapat menangkap peluang berbalik di kawasan pasaran yang terlalu banyak dibeli dan dijual. Walaupun terdapat ruang untuk pengoptimuman, kerangka asas sistem ini mempunyai skalabilitas dan nilai praktikal yang baik. Dengan pengurusan risiko yang munasabah dan pengoptimuman parameter, strategi ini dijangka memperoleh keuntungan yang stabil dalam perdagangan sebenar.
/*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)