Chiến lược này kết hợp trung bình di chuyển đơn giản (SMA) và đường xu hướng hồi quy tuyến tính lăn lăn. Nó thiết lập điều kiện bước vào dài khi giá đóng trên cả đường SMA và đường xu hướng, và điều kiện thoát khi giá đóng dưới chúng. Chiến lược chủ yếu sử dụng SMA làm tín hiệu giao dịch và đường xu hướng lăn lăn để hỗ trợ kênh. Nó vào giao dịch khi phá vỡ kênh tăng và thoát khi phá vỡ kênh giảm.
Các thành phần chính của chiến lược này bao gồm:
SMA: Đường trung bình di chuyển đơn giản, tính giá đóng trung bình trong một khoảng thời gian (smaPeriod) dưới dạng đường tín hiệu.
Rolling Trendline: Phụ hợp đường hồi quy tuyến tính tốt nhất trên một cửa sổ (cửa sổ) như tín hiệu xu hướng. Được tính bằng phương pháp bình thường.
Điều kiện nhập cảnh: Đi dài khi giá đóng > SMA và đường xu hướng.
Điều kiện thoát: Đóng vị trí khi giá đóng < SMA và đường xu hướng.
Vì vậy, chiến lược này chủ yếu dựa trên đột phá tín hiệu SMA để vào và đột phá kênh để ra. Nó sử dụng thuộc tính đảo ngược trung bình của MA và hỗ trợ kênh bằng đường hồi quy tuyến tính để thực hiện xu hướng sau các hoạt động đột phá.
Chiến lược này tích hợp bộ lọc kép của MA và đường xu hướng, có thể làm giảm hiệu quả các giao dịch phá vỡ sai. Trong khi đó, đường xu hướng lăn cung cấp hỗ trợ kênh chính xác hơn cho các quyết định đáng tin cậy.
Có một số rủi ro của chiến lược này:
Một số hướng tối ưu hóa cho những rủi ro này:
Chiến lược này có thể được tối ưu hóa trong các khía cạnh sau:
Thêm các chức năng điều chỉnh động cho thời gian SMA, các tham số trượt dựa trên các chế độ thị trường.
Phát triển cơ chế dừng lỗ đàn hồi. Thiết lập dừng lỗ khi giá phá vỡ đường xu hướng ở một tỷ lệ.
Thêm bộ lọc từ các chỉ số khác chẳng hạn như khối lượng, RSI để cải thiện độ chính xác quyết định.
Phát triển phiên bản đảo ngược. Đi dài khi giá tiếp cận đáy và phá vỡ kênh giảm.
Chiến lược này tích hợp các tín hiệu giao dịch từ đường trung bình động và hỗ trợ kênh từ đường xu hướng lăn để thực hiện các hoạt động theo xu hướng. Bộ lọc kép làm giảm xác suất đột phá sai và cải thiện chất lượng quyết định. Nó có cài đặt tham số đơn giản và logic rõ ràng, dễ thực hiện và tối ưu hóa. Tóm lại, chiến lược này tạo thành một hệ thống giao dịch đột phá xu hướng đáng tin cậy, đơn giản và trực quan.
/*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=4 strategy("SMA Strategy with Rolling Trendline", overlay=true) // Input parameters smaPeriod = input(14, title="SMA Period") window = input(20, title="Trendline Window") startDate = input(timestamp("2023-01-01"), title="Start Date") endDate = input(timestamp("2023-12-31"), title="End Date") // Calculating SMA sma = sma(close, smaPeriod) // Function to calculate linear regression trendline for a window linreg_trendline(window) => sumX = 0.0 sumY = 0.0 sumXY = 0.0 sumX2 = 0.0 for i = 0 to window - 1 sumX := sumX + i sumY := sumY + close[i] sumXY := sumXY + i * close[i] sumX2 := sumX2 + i * i slope = (window * sumXY - sumX * sumY) / (window * sumX2 - sumX * sumX) intercept = (sumY - slope * sumX) / window slope * (window - 1) + intercept // Calculating the trendline trendline = linreg_trendline(window) // Entry and Exit Conditions longCondition = close > sma and close < trendline exitLongCondition = close < sma and close > trendline // Strategy logic if (true) if (longCondition) strategy.entry("Long", strategy.long) if (exitLongCondition) strategy.close("Long") // Plotting plot(sma, title="Simple Moving Average", color=color.blue) plot(trendline, title="Rolling Trendline", color=color.red) plotshape(series=longCondition, title="Enter Trade", location=location.belowbar, color=color.green, style=shape.triangleup) plotshape(series=exitLongCondition, title="Exit Trade", location=location.abovebar, color=color.red, style=shape.triangledown)