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.
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.
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.
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ố.
// 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)