Esta estrategia utiliza una combinación de tres tipos diferentes de medias móviles: TEMA, DEMA y HMA, para entrar en juego cuando las medias medias de corto plazo TEMA y DEMA emiten señales de horquilla dorada / horquilla muerta, y utiliza la HMA de corto plazo para determinar la dirección de la tendencia y filtrar las señales de negociación en contra.
Concretamente, la estrategia utiliza al mismo tiempo el DEMA de doble índice para determinar la tendencia intermedia, el TEMA de tres índices para determinar la tendencia a corto plazo, y el HMA de promedio móvil de tipo denso para determinar la tendencia a largo plazo. La señal de negociación se produce solo cuando la media corta se inicia en la misma dirección (la dirección de TEMA y DEMA coincide con la ruptura) y la tendencia principal a largo plazo también coincide (la dirección de HMA coincide con la ruptura).
Se puede encontrar la combinación óptima de parámetros a través de pruebas de múltiples parámetros, introducir estrategias de stop loss y administrar el riesgo de manera adecuada.
Esta estrategia utiliza una combinación de varios indicadores de la línea de paridad para determinar la tendencia. La ventaja es que la generación de señales es clara y se puede configurar en el espacio; La desventaja es que existe el riesgo de retraso y la dependencia de varios parámetros.
// 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)