Estrategia de seguimiento de tendencias basada en el indicador de doble vórtice combinado con el índice de fuerza real

El autor:¿ Qué pasa?, Fecha: 2023-12-12 16:23:10
Las etiquetas:

img

Resumen general

Esta estrategia se llama Estrategia de seguimiento de tendencias basada en el indicador de vórtice dual combinado con el índice de fuerza verdadera.

Estrategia lógica

Esta estrategia utiliza tanto el indicador de vórtice dual como el índice de fuerza real (TSI). El indicador de vórtice dual consta de líneas VI+ y VI-, que reflejan la magnitud del impulso ascendente y descendente respectivamente.

Cuando VI+ sube y VI- cae, lo que indica un fortalecimiento de la tendencia alcista y un debilitamiento del impulso de la tendencia bajista, el indicador de doble vórtice genera una señal larga. Si al mismo tiempo, la línea azul del TSI cruza por encima de la línea roja, el TSI también emite una señal larga. La estrategia abrirá una posición larga cuando ambos indicadores emitan señales largas simultáneamente.

Por el contrario, cuando VI+ cae y VI- se eleva, lo que indica un debilitamiento del impulso al alza y un fortalecimiento del impulso a la baja, el vórtice dual emite una señal corta. Si la línea azul del TSI también cruza por debajo de la línea roja, el TSI también produce una señal corta. La estrategia luego abre una posición corta al recibir señales cortas alineadas.

Al combinar señales de ambos indicadores de esta manera, la estrategia es capaz de identificar y rastrear las tendencias nacientes a mediano y largo plazo. Las señales de salida se generan cuando las tendencias terminan. Por lo tanto, esta estrategia puede capturar eficazmente los grandes movimientos de tendencia en el mercado.

Análisis de ventajas

Las principales ventajas de esta estrategia incluyen:

  1. El filtro de doble indicador mejora la fiabilidad de la señal y evita las falsas señales.
  2. La adopción de indicadores a medio y largo plazo permite detectar tendencias más amplias.
  3. El período de retención se puede ajustar de forma flexible mediante ajustes de parámetros, lo que permite tanto el seguimiento de tendencias como el control del riesgo de transacción única.
  4. Los indicadores identifican bien las tendencias. El riesgo se controla estableciendo ondas de precios de salida.

Análisis de riesgos

También existen algunos riesgos:

  1. Las tenencias a mediano y largo plazo pueden enfrentar acciones de precio para el stop loss, lo que se puede mitigar reduciendo el período de la ola de salida o ajustando el stop loss adecuadamente.
  2. La probabilidad de señales falsas sigue existiendo a pesar del filtro de indicador dual.
  3. La eficiencia del uso del capital es relativamente baja debido a que el capital se mantiene durante períodos de retención más largos.
  4. Confianza en los mercados de tendencia: los tamaños de las posiciones deben reducirse en los mercados de rango para evitar pérdidas innecesarias.

Direcciones de optimización

Algunas formas de optimizar la estrategia incluyen:

  1. Introducción de más combinaciones de indicadores para mejorar la calidad de la señal mediante filtración múltiple.
  2. Optimización de los parámetros para adaptarlos mejor a las características de los diferentes productos.
  3. Añadir dimensionamiento dinámico de posiciones para ampliar las posiciones en tendencias mientras se reducen los tamaños en mercados variables.
  4. Incorporar mecanismos de stop loss como los de stop loss de seguimiento y los de stop loss parcial de cierre para controlar los riesgos.
  5. Combinando el análisis de las ondas de Elliott para identificar tendencias de mayor grado como filtro direccional.
  6. Utilizando el aprendizaje automático para optimizar automáticamente parámetros y reglas para una mayor adaptabilidad.

Conclusión

En resumen, esta estrategia es un excelente enfoque de seguimiento de tendencias a mediano y largo plazo. Al aprovechar las técnicas del indicador de vórtice dual y TSI, puede reconocer de manera confiable las tendencias emergentes a mediano y largo plazo. Con la ajuste adecuado de los parámetros, los riesgos por comercio se pueden gestionar. Otimizaciones adicionales mediante la incorporación de más indicadores y técnicas de control de riesgos conducirían a un mejor rendimiento.


/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © hydrelev

//@version=4
strategy("Vortex TSI strategy", overlay=false)
///////////////////INDICATOR TSI
long = input(title="Long Length", type=input.integer, defval=25)
short = input(title="Short Length", type=input.integer, defval=13)
signal = input(title="Signal Length", type=input.integer, defval=13)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_blue = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi_red = ema(tsi_blue, signal)
// plot(tsi_blue, color=#3BB3E4)
// plot(tsi_red, color=#FF006E)
// hline(0, title="Zero")

/////////////////INDICATOR VI
period_ = input(14, title="Period", minval=2)
VMP = sum( abs( high - low[1]), period_ )
VMM = sum( abs( low - high[1]), period_ )
STR = sum( atr(1), period_ )
VIP_blue = VMP / STR
VIM_red = VMM / STR
// plot(VIP_blue, title="VI +", color=#3BB3E4)
// plot(VIM_red, title="VI -", color=#FF006E)

////////////////////STRATEGY
bar=input(1, title="Close after x bar", minval=1, maxval=50)

tsi_long = crossover(tsi_blue, tsi_red)
tsi_short = crossunder(tsi_blue, tsi_red)
vi_long = crossover(VIP_blue, VIM_red)
vi_short = crossunder(VIP_blue, VIM_red)

LongConditionOpen = tsi_long and vi_long ? true : false
LongConditionClose = tsi_long[bar] and vi_long[bar] ? true : false
ShortConditionOpen = tsi_short and vi_short ? true : false
ShortConditionClose = tsi_short[bar] and vi_short[bar] ? true : false

if (LongConditionOpen)
    strategy.entry("Long Entry", strategy.long)
if (LongConditionClose)
    strategy.close("Long Entry")

if (ShortConditionOpen)
    strategy.entry("Short Entry", strategy.short)
if (ShortConditionClose)
    strategy.close("Short Entry")

Más.