Chiến lược số lượng đảo ngược đà Bollinger Bands là một hệ thống giao dịch dựa trên phân tích kỹ thuật sử dụng chỉ số Bollinger Bands để xác định các điều kiện thị trường mua quá nhiều và bán quá nhiều, nhằm nắm bắt các cơ hội đảo ngược tiềm năng. Chiến lược này xác định các điểm vào bằng cách quan sát giá chéo với Bollinger Bands trên và dưới, trong khi sử dụng stop-loss năng động để quản lý rủi ro. Cách tiếp cận này kết hợp các khái niệm giao dịch theo xu hướng và đảo ngược, được thiết kế để kiếm lợi từ sự biến động của thị trường.
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 các điều kiện thị trường cực đoan và dự đoán sự đảo ngược có thể xảy ra.
Thiết kế này cho phép chiến lược giao dịch khi thị trường hiển thị các chuyển động cực đoan trong khi hạn chế tổn thất tiềm năng thông qua stop-loss năng động.
Bollinger Bands Momentum Reversal Quantitative Strategy là một hệ thống giao dịch kết hợp phân tích kỹ thuật với quản lý rủi ro. Bằng cách sử dụng Bollinger Bands để xác định các điều kiện thị trường mua quá nhiều và bán quá nhiều, chiến lược này nhằm mục đích nắm bắt các cơ hội đảo ngược giá tiềm năng.
/*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)