Chiến lược này tính toán dải trên, dải giữa và dải dưới của Bollinger Bands và kết hợp giá đóng của K-line để thực hiện chiến lược giao dịch đột phá Bollinger Bands. Nó đi dài khi giá vượt qua dải trên và đi ngắn khi giá vượt qua dải dưới. Giá dừng lỗ và lấy lợi nhuận cũng được đặt.
Tính toán đường SMA giữa của Bollinger Bands với thời gian 60, đại diện cho đường giữa của xu hướng giá.
Tính toán dải trên và dải dưới của Bollinger Bands. Dải trên là dải giữa + 2 lần độ lệch chuẩn và dải dưới là dải giữa - 2 lần độ lệch chuẩn.
Khi giá đóng lớn hơn dải trên, mua dài. Khi giá đóng thấp hơn dải dưới, mua ngắn.
Thiết lập cơ chế dừng lỗ và lấy lợi nhuận.
Khi giá quay lại Bollinger Bands hoặc đạt giá dừng lỗ / lấy lợi nhuận, đóng vị trí.
Chỉ số Bollinger Bands có khả năng đánh giá xu hướng mạnh mẽ bằng cách phá vỡ.
Đơn giản chiến lược logic và dễ hiểu và thực hiện.
Dừng lỗ và chấp nhận rủi ro kiểm soát lợi nhuận.
Bollinger Bands breakout không thể xác định chính xác các điểm đảo ngược xu hướng giá, với nguy cơ breakout sai.
Các thiết lập dừng lỗ và lấy lợi nhuận không hợp lý có thể mang lại rủi ro lớn hơn.
Tần suất giao dịch cao có thể bị ảnh hưởng bởi chi phí giao dịch.
Kết hợp với các chỉ số khác để lọc các tín hiệu sai, ví dụ: KDJ cho xu hướng và MACD cho sự phân kỳ.
Điều chỉnh năng động các thông số Bollinger Bands dựa trên biến động thị trường để tính rộng dải hợp lý.
Tối ưu hóa chiến lược dừng lỗ và lấy lợi nhuận, ví dụ như dừng lại hoặc đóng một phần.
Xem xét chi phí giao dịch
Chiến lược này theo xu hướng của Bollinger Bands breakout và có một số hiệu ứng tích cực. Nhưng breakout sai có thể mang lại rủi ro lớn hơn. Kết hợp với các chỉ số khác và tiếp tục tối ưu hóa các tham số có thể kiểm soát rủi ro và cải thiện lợi nhuận.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fuera Bolinga", overlay=true) length = input.int(60, minval=1) mult = input.float(2.0, minval=0.001, maxval=50) take_profit_percentage = 6.0 basis = ta.sma(close, length) dev = mult * ta.stdev(close, length) upper = basis + dev lower = basis - dev stop_loss_percentage = 1.5 // Determinar si la vela cierra por fuera de las bandas above_upper_band = close > upper under_lower_band = close < lower // Pintar las velas que cierran por fuera de las bandas barcolor(above_upper_band ? color.new(#2cee32, 0) : na) barcolor(under_lower_band ? color.new(#e02c2c, 0) : na) // Entrada larga con stop loss y take profit if (ta.crossover(close, upper)) strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") // Entrada corta con stop loss y take profit if (ta.crossunder(close, lower)) strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands",comment="BBandSE") else strategy.cancel(id="BBandSE") //// Salida de operación larga if ((ta.crossunder(close, upper) or ta.crossunder(close, lower)) and (strategy.opentrades != 0)) strategy.close("BBandLE") // Salida de operación corta if ((ta.crossover(close, lower) or ta.crossover(close, upper)) and (strategy.opentrades != 0)) strategy.close("BBandSE") // Plot de las bandas de Bollinger plot(upper, color=color.new(#2cee32, 0), title="Upper Bollinger Band") plot(lower, color=color.new(#e02c2c, 0), title="Lower Bollinger Band")