Chiến lược này là một hệ thống giao dịch định lượng kết hợp các mô hình giá và các chỉ số kỹ thuật. Nó chủ yếu xác định các đột phá mô hình tam giác và xác nhận các giao dịch bằng cách sử dụng động lực RSI. Chiến lược sử dụng hồi quy tuyến tính để xây dựng các đường xu hướng trên và dưới, xác định các tín hiệu giao dịch thông qua các đột phá giá và các vị trí RSI, đạt được sự kết hợp hữu cơ của phân tích mô hình và động lực.
Khái niệm cốt lõi bao gồm hai thành phần chính: nhận dạng mô hình tam giác và xác nhận động lượng RSI. Thứ nhất, nó sử dụng hồi quy tuyến tính để tính toán mức cao và thấp gần đây trong N giai đoạn, xây dựng các đường xu hướng trên và dưới để tạo thành một tam giác. Khi giá phá vỡ trên đường xu hướng trên và RSI trên 50, nó kích hoạt tín hiệu mua; khi giá phá vỡ dưới đường xu hướng dưới và RSI dưới 50, nó kích hoạt tín hiệu bán. Chiến lược có các thông số điều chỉnh cho chiều dài tam giác và thời gian RSI, cung cấp khả năng thích ứng mạnh mẽ.
Triangle Breakout with RSI Momentum Strategy là một hệ thống giao dịch định lượng hoàn chỉnh và rõ ràng về mặt logic. Thông qua cơ chế xác nhận kép của mô hình và động lượng, nó cải thiện hiệu quả độ tin cậy của tín hiệu giao dịch. Mặc dù có một số rủi ro nhất định, chiến lược có giá trị thực tế tốt thông qua tối ưu hóa tham số hợp lý và các biện pháp kiểm soát rủi ro. Các nhà giao dịch được khuyên nên tiến hành tối ưu hóa tham số kỹ lưỡng và kiểm tra lại dựa trên các đặc điểm thị trường cụ thể trước khi giao dịch trực tiếp.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Triangle Breakout with RSI", overlay=true) // Input parameters len = input.int(15, title="Triangle Length") rsiPeriod = input.int(14, title="RSI Period") rsiThresholdBuy = input.int(50, title="RSI Threshold for Buy") rsiThresholdSell = input.int(50, title="RSI Threshold for Sell") // Calculate the RSI rsi = ta.rsi(close, rsiPeriod) // Calculate highest high and lowest low for triangle pattern highLevel = ta.highest(high, len) lowLevel = ta.lowest(low, len) // Create trendlines for the triangle upperTrend = ta.linreg(high, len, 0) lowerTrend = ta.linreg(low, len, 0) // Plot the trendlines on the chart plot(upperTrend, color=color.green, linewidth=2, title="Upper Trendline") plot(lowerTrend, color=color.red, linewidth=2, title="Lower Trendline") // Detect breakout conditions breakoutUp = close > upperTrend breakoutDown = close < lowerTrend // Confirm breakout with RSI buyCondition = breakoutUp and rsi > rsiThresholdBuy sellCondition = breakoutDown and rsi < rsiThresholdSell // Plot breakout signals with confirmation from RSI plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, size=size.small) plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small) // Strategy: Buy when triangle breaks upwards and RSI is above 50; Sell when triangle breaks downwards and RSI is below 50 if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Plot RSI on the bottom pane hline(50, "RSI 50 Level", color=color.gray, linestyle=hline.style_dotted) plot(rsi, color=color.blue, linewidth=2, title="RSI")