Chiến lược này sử dụng sự kết hợp của Zero Lag EMA và Hull EMA để thực hiện theo xu hướng. Zero Lag EMA loại bỏ sự chậm trễ của EMA thông thường, và Hull EMA làm mịn đường cong giá. Sự kết hợp của chúng có thể nắm bắt chính xác hơn các chuyển động xu hướng cho xu hướng rủi ro thấp sau giao dịch.
Đầu tiên tính toán EMA Zero Lag:EMA1 = ema(close, Period) EMA2 = ema(EMA1, Period) Difference = EMA1 - EMA2 ZeroLagEMA = EMA1 + Difference
Nơi ZeroLagEMA là EMA Zero Lag. nó loại bỏ vấn đề lag của EMA thông thường.
Sau đó tính toán đường cong Hull EMA trơn:
```
n2ma = 2*wma(ZeroLagEMA, round(S_period/2))
nma = wma(ZeroLagEMA, S_period)
n1 = wma(n2ma - nma, sqn)
```
Cuối cùng, xác định hướng xu hướng dựa trên mối quan hệ quy mô giữa Hull EMA hiện tại (n1) và Hull EMA của giai đoạn trước (n2), và xây dựng chiến lược giao dịch.
Ưu điểm lớn nhất của chiến lược này là khả năng nắm bắt chính xác hướng xu hướng. Có hai lý do:
Zero Lag EMA loại bỏ vấn đề chậm trễ của EMA thông thường và có thể nắm bắt sự thay đổi giá nhanh hơn.
Hull EMA tăng gấp đôi làm mịn giá và lọc ra một số tiếng ồn để nắm bắt xu hướng rõ ràng hơn.
So với việc sử dụng EMA hoặc Hull EMA một mình, sự kết hợp tận dụng điểm mạnh của cả hai để có một chiến lược chính xác và đáng tin cậy hơn.
Những rủi ro chính của chiến lược này là:
Các thiết lập tham số thời gian và S_period không đúng có thể khiến chiến lược không nhạy cảm với thị trường và bỏ lỡ các cơ hội giao dịch.
Trong các thị trường dao động, EMA và Hull EMA có thể tạo ra nhiều tín hiệu chéo sai hơn đòi hỏi phải thận trọng.
Nó không thể xử lý hiệu quả khoảng cách giá qua đêm.
Do đó, cần phải kiểm tra các tham số cẩn thận, các tín hiệu chỉ số nên được giải thích thận trọng và các rủi ro chênh lệch giá nên được phòng ngừa.
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Thử nghiệm các kết hợp tham số dưới các thị trường và khung thời gian khác nhau để thích nghi tốt hơn.
Thêm các chỉ số khác để lọc các tín hiệu đột phá sai, chẳng hạn như KDJ, MACD v.v., để cải thiện sự ổn định.
Thêm stop loss để kiểm soát lỗ giao dịch duy nhất.
Tối ưu hóa thời gian đầu vào để cải thiện tỷ lệ thắng hơn nữa, ví dụ như tránh giao dịch chống lại xu hướng.
Chiến lược này sử dụng sự kết hợp Zero Lag Hull EMA để nắm bắt chính xác và nhạy cảm xu hướng thị trường cho xu hướng rủi ro thấp sau khi giao dịch.
/*backtest start: 2023-08-19 00:00:00 end: 2023-09-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // Zero Lag EMA combined with Hull moving average for smoothing purposes. // author: email: sbginter@gmail.com strategy("Ujanja", overlay=true) Period = input(title="Period",defval=30, minval=1) S_period=input(title="Smoother Period",defval=176) EMA1= ema(close,Period) EMA2= ema(EMA1,Period) Difference= EMA1 - EMA2 ZeroLagEMA= EMA1 + Difference n2ma=2*wma(ZeroLagEMA,round(S_period/2)) nma=wma(ZeroLagEMA,S_period) diff=n2ma-nma sqn=round(sqrt(S_period)) n2ma1=2*wma(ZeroLagEMA[1],round(S_period/2)) nma1=wma(ZeroLagEMA[1],S_period) diff1=n2ma1-nma1 sqn1=round(sqrt(S_period)) n1=wma(diff,sqn) n2=wma(diff1,sqn) c=n1>n2?green:red ma=plot(n1,color=c) longCondition = n1>n2 if (longCondition) strategy.entry("Long", strategy.long) shortCondition = longCondition != true if (shortCondition) strategy.entry("Short", strategy.short)