
Chiến lược Bollinger Bands Dynamic Reversal Quantification là một hệ thống giao dịch dựa trên phân tích kỹ thuật, sử dụng các chỉ số Bollinger Bands để xác định tình trạng quá mua và quá bán của thị trường, để nắm bắt cơ hội đảo ngược tiềm năng. Chiến lược này đánh giá thời gian vào thị trường bằng cách quan sát sự giao thoa của giá với đường ray lên xuống của Bollinger Bands, đồng thời sử dụng các lệnh dừng động để kiểm soát rủi ro.
Nguyên tắc cốt lõi của chiến lược này là sử dụng Bollinger Bands để xác định tình trạng cực đoan của thị trường và dự đoán sự đảo ngược có thể xảy ra.
Thiết kế này cho phép các chiến lược giao dịch khi thị trường có những biến động cực đoan, đồng thời hạn chế tổn thất tiềm ẩn bằng cách dừng động.
Bollinger Bands Dynamic Reversal Quantification Strategy là một hệ thống giao dịch kết hợp phân tích kỹ thuật và quản lý rủi ro. Bằng cách sử dụng Bollinger Bands để xác định tình trạng quá mua và quá bán của thị trường, chiến lược này nhằm mục đích nắm bắt cơ hội biến đổi giá tiềm năng. Ưu điểm của nó là mạnh mẽ về mặt khách quan, quản lý rủi ro và thích ứng tốt, nhưng cũng có nguy cơ phá vỡ giả và thị trường xu hướng kém.
/*backtest
start: 2024-09-18 00:00:00
end: 2024-09-25 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(shorttitle='MBB_Strategy', title='Bollinger Bands Strategy', overlay=true)
// Inputs
price = input.source(close, title="Source")
period = input.int(34, minval=1, title="Period") // Renombramos 'length' a 'period'
multiplier = input.float(2.0, minval=0.001, maxval=50, title="Multiplier") // Renombramos 'mult' a 'multiplier'
// Calculando las bandas de Bollinger
middle_band = ta.sma(price, period) // Renombramos 'basis' a 'middle_band'
deviation = ta.stdev(price, period) // Renombramos 'dev' a 'deviation'
deviation2 = multiplier * deviation // Renombramos 'dev2' a 'deviation2'
upper_band1 = middle_band + deviation // Renombramos 'upper1' a 'upper_band1'
lower_band1 = middle_band - deviation // Renombramos 'lower1' a 'lower_band1'
upper_band2 = middle_band + deviation2 // Renombramos 'upper2' a 'upper_band2'
lower_band2 = middle_band - deviation2 // Renombramos 'lower2' a 'lower_band2'
// Plotting Bollinger Bands
plot(middle_band, linewidth=2, color=color.blue, title="Middle Band")
plot(upper_band2, color=color.new(color.blue, 0), title="Upper Band 2")
plot(lower_band2, color=color.new(color.orange, 0), title="Lower Band 2")
// Rellenando áreas entre las bandas
fill(plot(middle_band), plot(upper_band2), color=color.new(color.blue, 80), title="Upper Fill")
fill(plot(middle_band), plot(lower_band2), color=color.new(color.orange, 80), title="Lower Fill")
// Lógica de la estrategia
var bool is_long = false
var bool is_short = false
if (ta.crossover(price, lower_band2))
strategy.entry("Buy", strategy.long)
is_long := true
is_short := false
if (ta.crossunder(price, upper_band2))
strategy.entry("Sell", strategy.short)
is_long := false
is_short := true
// Lógica del stop loss
stop_loss_level_long = lower_band2
stop_loss_level_short = upper_band2
if (is_long)
strategy.exit("Exit Long", "Buy", stop=stop_loss_level_long)
if (is_short)
strategy.exit("Exit Short", "Sell", stop=stop_loss_level_short)