Chiến lược kết hợp xu hướng theo TEMA, DEMA, HMA


Ngày tạo: 2023-09-21 10:56:41 sửa đổi lần cuối: 2023-09-21 10:56:41
sao chép: 1 Số nhấp chuột: 1319
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này sử dụng sự kết hợp của ba loại trung bình di chuyển khác nhau của TEMA, DEMA và HMA, tham gia khi TEMA và DEMA trung bình ngắn hạn phát ra tín hiệu vàng / chết, và sử dụng HMA trung bình dài hạn để xác định xu hướng và lọc tín hiệu giao dịch ngược.

Nguyên tắc chiến lược

  1. Tính trung bình di chuyển ba đường TEMA, DEMA và HMA
  2. Khi mặc DEMA trên TEMA, hãy tham gia nhiều hơn
  3. Khi mặc áo DEMA dưới TEMA, bạn có thể làm như vậy.
  4. Tính hướng xu hướng của HMA dài hạn, chỉ tham gia khi HMA hiển thị xu hướng đồng chiều

Cụ thể, chiến lược này đồng thời sử dụng DEMA di động chỉ số kép để xác định xu hướng trung hạn, TEMA di động chỉ số ba để xác định xu hướng ngắn hạn và HMA di động kiểu đậm để xác định xu hướng dài hạn. Chỉ khi trung hạn ngắn bắt đầu theo cùng một hướng (TEMA và DEMA đồng hướng) và xu hướng chính dài hạn cũng đồng hướng (HMA hướng và đồng hướng) thì tín hiệu giao dịch sẽ được tạo ra.

Phân tích lợi thế

  1. Kết hợp nhiều đường trung bình để tăng độ chính xác của phán đoán
  2. HMA lọc xu hướng để tránh giao dịch ngược
  3. TEMA và DEMA có thể tạo ra tín hiệu giao dịch rõ ràng hơn
  4. Các tham số của ba đường trung bình có thể tùy chỉnh để phù hợp với các chu kỳ khác nhau
  5. Giao dịch theo chiều hướng, ít rủi ro rút tiền

Phân tích rủi ro

  1. Kết hợp ba đường dây phức tạp hơn, cần điều chỉnh nhiều tham số
  2. HMA có thể đánh giá xu hướng sau giá cả
  3. Có một mức độ rủi ro giao dịch chậm
  4. Các tham số không đúng có thể làm tăng giao dịch ngược không cần thiết

Kiểm tra đa tham số có thể tìm ra sự kết hợp tham số tối ưu, đưa ra chiến lược dừng lỗ, quản lý rủi ro bằng cách nới lỏng điều kiện tham gia thích hợp.

Hướng tối ưu hóa

  1. Kiểm tra các tham số chu kỳ trung bình khác nhau để tìm ra sự kết hợp tối ưu
  2. Đánh giá thêm các chỉ số như MACD như một phán đoán phụ trợ
  3. Thêm dừng di chuyển để khóa lợi nhuận, giảm rút lui
  4. Nghiên cứu các tham số ưa thích của các giống khác nhau, xây dựng hệ thống tối ưu hóa tham số
  5. Giới thiệu các điều kiện tham gia, giao dịch theo xu hướng khi có xu hướng dài hạn

Tóm tắt

Chiến lược này sử dụng nhiều chỉ số đường trung bình để đánh giá xu hướng bằng cách kết hợp. Ưu điểm là tín hiệu được tạo ra rõ ràng, có thể cấu hình rộng rãi; Nhược điểm là có rủi ro bị tụt hậu và phụ thuộc nhiều tham số.

Mã nguồn chiến lược
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tuned-com

//@version=4
strategy("TEMA/DEMA/HMA", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000000, commission_type=strategy.commission.percent, commission_value=0.1)

Tlength = input(8, title="TEMA Length", minval=1)
Dlength = input(43, title="DEMA Length", minval=1)
Hlength = input(52, title="Hull Length", minval=1)
Rlength = input(2, title="Hull Trend Test Length", minval=1)


//TEMA//
ema1 = ema(close, Tlength)
ema2 = ema(ema1, Tlength)
ema3 = ema(ema2, Tlength)
tema = 3 * (ema1 - ema2) + ema3

//DEMA//
e1 = ema(close, Dlength)
e2 = ema(e1, Dlength)
dema = 2 * e1 - e2

//HMA//
hma = wma(2 * wma(close, Hlength / 2) - wma(close, Hlength), round(sqrt(Hlength)))


up = crossunder(dema, tema) and rising(hma, Rlength)
down = crossover(dema, tema) and falling(hma, Rlength)

downc = crossunder(dema, tema)
upc = crossover(dema, tema)

plot(dema, color=color.green, linewidth=2)
plot(tema, color=color.aqua, linewidth=2)

plot(hma, color=rising(hma, Rlength) ? color.green : na, linewidth=2, transp=0)
plot(hma, color=falling(hma, Rlength) ? color.red : na, linewidth=2, transp=0)

bgcolor(rising(hma, Rlength) ? color.green : na, transp=70)
bgcolor(falling(hma, Rlength) ? color.red : na, transp=70)

plotarrow(tema - dema, colorup=color.green, colordown=color.red, transp=70)



if up
    strategy.entry("Long Entry", strategy.long)

if down
    strategy.entry("Short Entry", strategy.short)