Strategi ini menggunakan gabungan tiga jenis purata bergerak TEMA, DEMA dan HMA, untuk masuk ketika TEMA dan DEMA dalam jangka masa sederhana mengeluarkan isyarat garpu emas / garpu mati, dan menggunakan HMA dalam jangka masa panjang untuk menentukan arah trend dan menyaring isyarat dagangan berlawanan.
Khususnya, strategi ini menggunakan DEMA purata bergerak dua indeks untuk menentukan trend pertengahan, TEMA purata bergerak tiga indeks untuk menentukan trend jangka pendek, dan HMA purata bergerak padat untuk menentukan trend jangka panjang. Isyarat perdagangan dihasilkan hanya apabila jangka pendek pertengahan bermula pada arah yang sama (TEMA dan DEMA sama arahnya) dan trend utama jangka panjang juga sama (HMA arahnya dan sama arahnya).
Risiko boleh diuruskan dengan cara mencari kombinasi parameter terbaik melalui ujian pelbagai parameter, memperkenalkan strategi hentikan kerugian, dan meluaskan syarat kemasukan yang sesuai.
Strategi ini menggunakan kombinasi pelbagai indikator garis rata untuk menilai trend. Kelebihannya adalah bahawa penjanaan isyarat jelas dan ruang yang boleh dikonfigurasi besar; Kelemahannya adalah terdapat risiko ketinggalan dan ketergantungan pelbagai parameter. Melalui Optimasi Parameter, strategi menghentikan kerugian dan lain-lain risiko yang boleh dikawal, memainkan kelebihan garis rata gabungan.
// 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)