Strategi ini adalah sistem perdagangan frekuensi tinggi yang menggabungkan indikator Bollinger Bands dengan sinyal price breakout. Strategi ini memantau hubungan antara harga dan Bollinger Bands, dikombinasikan dengan sinyal high dan low point breakout sebelumnya, untuk mengeksekusi reversal trade selama kondisi overbought dan oversold pasar. Sistem ini menerapkan rasio risiko-imbalan 1:1 untuk target profit dan loss, dan memvisualisasikan tingkat harga utama untuk membantu trader secara intuitif memahami tren pasar.
Logika inti dari strategi ini didasarkan pada dua kondisi utama: sinyal beli dipicu ketika harga menembus di atas level tertinggi sebelumnya dan level tertinggi berada di bawah Bollinger Band bagian bawah; sinyal jual dipicu ketika harga menembus di bawah level terendah sebelumnya dan level terendah berada di atas Bollinger Band bagian atas. Parameter Bollinger Band menggunakan rata-rata bergerak 20 periode dengan 2 standar deviasi untuk menentukan rentang volatilitas pasar dan area overbought/oversold. Setelah memicu sinyal perdagangan, sistem secara otomatis menetapkan stop-loss dan target level yang sesuai, memvisualisasikannya melalui gaya garis yang berbeda.
Ini adalah sistem perdagangan yang komprehensif yang mengintegrasikan beberapa konsep analisis teknis. Melalui kombinasi indikator Bollinger Bands dan price breakout, strategi ini dapat menangkap peluang pembalikan di area pasar yang terlalu banyak dibeli dan terlalu banyak dijual. Meskipun ada ruang untuk optimasi, kerangka dasar sistem ini memiliki ekstensibilitas dan nilai praktis yang baik. Melalui manajemen risiko dan optimasi parameter yang tepat, strategi ini memiliki potensi untuk mencapai pengembalian 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)