Đây là một chiến lược giao dịch thông minh kết hợp các Dải Bollinger và chỉ số SuperTrend. Chiến lược chủ yếu sử dụng Dải Bollinger để xác định phạm vi biến động thị trường trong khi sử dụng chỉ số SuperTrend để xác nhận hướng xu hướng thị trường, cho phép giao dịch ở các vị trí có khả năng cao. Chiến lược được thiết kế cho các công cụ giao dịch và khung thời gian khác nhau, hoạt động đặc biệt tốt trên khung thời gian 30 phút và 2 giờ.
Logic cốt lõi của chiến lược dựa trên các yếu tố chính sau:
Đây là một hệ thống giao dịch hoàn chỉnh kết hợp các chỉ số phân tích kỹ thuật cổ điển, có thể hoạt động tốt trong cả thị trường xu hướng và biến động thông qua sự phối hợp của Bollinger Bands và SuperTrend.
/*backtest start: 2024-12-05 00:00:00 end: 2024-12-12 00:00:00 period: 5m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Band & SuperTrend Strategy (Standard Chart)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Bollinger Bands Settings length_bb = input.int(20, title="Bollinger Band Length") mult_bb = input.float(2.0, title="Bollinger Band Multiplier") [bb_upper, bb_basis, bb_lower] = ta.bb(close, length_bb, mult_bb) // Median Bands bb_median_upper = (bb_upper + bb_basis) / 2 bb_median_lower = (bb_lower + bb_basis) / 2 // SuperTrend Settings atr_length = input.int(10, title="ATR Length") factor = input.float(3.0, title="SuperTrend Factor") // SuperTrend Calculation based on standard chart OHLC data [supertrend, direction] = ta.supertrend(factor, atr_length) // Plotting Bollinger Bands plot(bb_upper, color=color.red, title="Bollinger Upper Band") plot(bb_median_upper, color=color.orange, title="Bollinger Median Upper Band") plot(bb_basis, color=color.blue, title="Bollinger Basis") plot(bb_median_lower, color=color.purple, title="Bollinger Median Lower Band") plot(bb_lower, color=color.green, title="Bollinger Lower Band") // Plotting SuperTrend supertrend_color = direction > 0 ? color.green : color.red plot(supertrend, color=supertrend_color, style=plot.style_line, title="SuperTrend Line") // Customizable Signal Shape Inputs buy_shape = input.string("shape_triangle_up", title="Buy Signal Shape", options=["shape_triangle_up", "shape_circle", "shape_cross", "shape_diamond", "shape_flag"]) sell_shape = input.string("shape_triangle_down", title="Sell Signal Shape", options=["shape_triangle_down", "shape_circle", "shape_cross", "shape_diamond", "shape_flag"]) // Entry Conditions buy_condition = ta.crossover(low, bb_lower) and direction > 0 sell_condition = ta.crossunder(high, bb_upper) and direction < 0 // Exit Conditions exit_buy_condition = ta.crossunder(close, supertrend) and direction < 0 exit_sell_condition = ta.crossover(close, supertrend) and direction > 0 // Strategy Logic if buy_condition strategy.entry("Buy", strategy.long) if sell_condition strategy.entry("Sell", strategy.short) if exit_buy_condition strategy.close("Buy") if exit_sell_condition strategy.close("Sell") // Plot Buy Signal Shape plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=buy_shape, text="BUY", textcolor=color.white) // Plot Sell Signal Shape plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=sell_shape, text="SELL", textcolor=color.white)