Zero Lag Hull EMA Combo Trend Theo chiến lược

Tác giả:ChaoZhang, Ngày: 2023-09-19 16:52:39
Tags:

Tổng quan

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.

Chiến lược logic

Đầ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.

Phân tích lợi thế

Ư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:

  1. 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.

  2. 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.

Phân tích rủi ro

Những rủi ro chính của chiến lược này là:

  1. 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.

  2. 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.

  3. 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.

Hướng dẫn tối ưu hóa

Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:

  1. 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.

  2. 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.

  3. Thêm stop loss để kiểm soát lỗ giao dịch duy nhất.

  4. 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.

Tóm lại

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)

Thêm nữa