Chiến lược theo xu hướng trung bình di chuyển kép tính toán các đường trung bình di chuyển nhân tố kép của giá để hình thành các đường nhanh và chậm. Nó xác định xu hướng giá dựa trên sự chéo chéo của hai đường để thực hiện xu hướng sau khi giao dịch. Chiến lược này thuộc về các chiến lược giao dịch định lượng dựa trên xu hướng.
Chiến lược này đầu tiên tính toán các đường trung bình chuyển động nhân tố kép của giá, bao gồm các đường nhanh và chậm. Đường nhanh có thời gian 4, và đường chậm có thời gian 8. Các tín hiệu giao dịch được tạo ra khi hai đường vượt qua. Khi đường nhanh vượt qua trên đường chậm, một tín hiệu mua được tạo ra. Khi đường nhanh vượt qua dưới đường chậm, một tín hiệu bán được kích hoạt. Ngoài ra, chiến lược cũng tính toán chỉ số MACD để cung cấp các tín hiệu giao dịch bổ sung. Các thanh MACD màu đỏ khác nhau là tín hiệu bán, trong khi các thanh màu xanh lá cây hội tụ là tín hiệu mua. Bằng cách kết hợp sự chéo chéo của các đường trung bình chuyển động kép và chỉ số MACD, chiến lược kết hợp các hướng xu hướng giá để theo dõi xu hướng giao dịch.
Đầu tiên, chiến lược này giao dịch dọc theo xu hướng giá để tránh chi phí giao dịch. Thứ hai, các đường trung bình động kép lọc ra một số tiếng ồn giá và nắm bắt xu hướng giá trơn tru. Ngoài ra, tối ưu hóa tham số linh hoạt của đường trung bình động và MACD làm cho chiến lược thích nghi với các sản phẩm và môi trường khác nhau. Cuối cùng, logic đơn giản và rõ ràng làm cho chiến lược này dễ hiểu và thực hiện, phù hợp với thiết kế thuật toán giao dịch định lượng.
Chiến lược này dựa rất nhiều vào tối ưu hóa tham số. Việc thiết lập tham số không đúng có thể tạo ra nhiều tín hiệu sai. Ngoài ra, bản chất chậm trễ của các đường trung bình động kép có thể gây ra các điểm chuyển đổi bị bỏ lỡ. Các chiến lược theo xu hướng cũng có xu hướng theo đuổi xu hướng tăng và tiêu diệt xu hướng giảm, gây ra một số rủi ro. Hơn nữa, tính thanh khoản của các sản phẩm giao dịch và chi phí giao dịch cũng sẽ ảnh hưởng đến lợi nhuận của chiến lược. Để giảm thiểu rủi ro, các tham số có thể được tối ưu hóa, thêm các bộ lọc bổ sung và có thể kiểm soát kích thước vị trí.
Các khía cạnh sau đây của chiến lược có thể được cải thiện:
Tối ưu hóa các giai đoạn của các đường trung bình động kép để tìm ra sự kết hợp tối ưu.
Thêm các chỉ số khác như RSI và KD để lọc tín hiệu và cải thiện chất lượng.
Kết hợp các chiến lược dừng lỗ để thoát khỏi các giao dịch khi thay đổi xu hướng.
Điều chỉnh động kích thước vị trí dựa trên điều kiện thị trường để kiểm soát rủi ro.
Tối ưu hóa các tham số cho các sản phẩm giao dịch khác nhau.
Kết hợp các chiến lược tiên tiến như máy học để cải thiện hiệu suất.
Tóm lại, đây là một chiến lược theo xu hướng trung bình động kép đơn giản. Logic chiến lược đơn giản và dễ thực hiện. Việc điều chỉnh tham số linh hoạt làm cho nó phù hợp như một chiến lược giao dịch định lượng giới thiệu. Tuy nhiên, các rủi ro của việc theo đuổi xu hướng và chậm tín hiệu cần phải được giải quyết thông qua các cải tiến hơn nữa để cải thiện sự ổn định và kiểm soát rủi ro. Nhìn chung, chiến lược này cung cấp một cơ hội học tập tuyệt vời cho người mới bắt đầu và thiết lập nền tảng cho các chiến lược tiên tiến.
/*backtest start: 2023-10-14 00:00:00 end: 2023-11-13 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 12/11/2017 // The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by // William Blau, except the SMI includes a signal line. The SMI uses double moving averages // of price minus previous price over 2 time frames. The signal line, which is an EMA of the // SMI, is plotted to help trigger trading signals. Adjustable guides are also given to fine // tune these signals. The user may change the input (close), method (EMA), period lengths // and guide values. // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // // WARNING: // - For purpose educate only //////////////////////////////////////////////////////////// strategy(title="SMI Ergodic Oscillator") fastPeriod = input(4, minval=1) slowPeriod = input(8, minval=1) SmthLen = input(3, minval=1) TopBand = input(0.5, step=0.1) LowBand = input(-0.5, step=0.1) reverse = input(false, title="Trade reverse") // hline(0, color=gray, linestyle=dashed) // hline(TopBand, color=red, linestyle=line) // hline(LowBand, color=green, linestyle=line) xPrice = close xPrice1 = xPrice - xPrice[1] xPrice2 = abs(xPrice - xPrice[1]) xSMA_R = ema(ema(xPrice1,fastPeriod),slowPeriod) xSMA_aR = ema(ema(xPrice2, fastPeriod),slowPeriod) xSMI = xSMA_R / xSMA_aR xEMA_SMI = ema(xSMI, SmthLen) pos = iff(xEMA_SMI < xSMI, -1, iff(xEMA_SMI > xSMI, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(xSMI, color=green, title="Ergotic SMI") plot(xEMA_SMI, color=red, title="SigLin")