Estrategia de sincronización de la media móvil doble ADX


Fecha de creación: 2023-12-06 15:48:29 Última modificación: 2023-12-06 15:48:29
Copiar: 0 Número de Visitas: 783
1
Seguir
1619
Seguidores

Estrategia de sincronización de la media móvil doble ADX

Descripción general

La estrategia de selección de ADX de doble línea media identifica la tendencia mediante la combinación de la línea media 220 y el indicador ADXR para generar una señal de negociación en la etapa inicial de la tendencia. La estrategia primero utiliza la media móvil 220 para determinar la dirección de la tendencia de precios, y luego se combina con el indicador ADXR para confirmar aún más la señal de tendencia, lo que genera una señal de negociación más confiable.

Principio de estrategia

La lógica central de la estrategia de selección de ADX de línea recta se basa en las siguientes partes:

  1. 220 promedio móvil del índice (EMA)

    • EMA con dos parámetros diferentes para el día 2 y el día 20.
    • Cuando el precio sube por encima de la EMA de 2 días, se considera una señal de alza.
    • Cuando el precio cruza la EMA de los 20 días se considera una señal bajista.
  2. Indicador ADXR

    • El indicador ADXR es una variante del indicador ADX.
    • Reducir la volatilidad del indicador ADX calculando el promedio simple del ADX.
    • Cuando el ADXR está por debajo de un umbral, la tendencia es débil.
    • Cuando el ADXR está por encima de un umbral, la tendencia es fuerte.
  3. Señales de comercio

    • Cuando el EMA Golden Cross AND ADXR del día 2 está por encima de la brecha, se produce una señal de bullish.
    • Cuando el EMA 20 Dead Cross AND ADXR está por debajo de la brecha, se produce una señal bajista.
    • La combinación con el indicador ADXR permite filtrar algunos pronósticos falsos y fortalecer las señales de tendencia reales.

La principal innovación de la estrategia es la utilización de indicadores ADXR para identificar tendencias en la etapa inicial y combinarlas con señales de la estrategia de línea recta tradicional, lo que mejora la calidad de la señal y aumenta la estabilidad de la estrategia.

Ventajas estratégicas

Las principales ventajas de la estrategia de selección de ADX de doble línea son:

  1. La combinación de la línea de doble equilibrio y el indicador ADXR, la señal es más precisa y fiable, y se puede filtrar la señal falsa.
  2. El uso del indicador ADXR para identificar tendencias en su etapa inicial permite una entrada más temprana en la determinación de tendencias.
  3. La configuración de los parámetros de ADXR es flexible y se puede ajustar según el mercado para adaptarse a los cambios en la práctica.
  4. La lógica de la estrategia es simple, clara y fácil de entender, y los parámetros se ajustan fácilmente.
  5. Se puede utilizar en una variedad de entornos de mercado, con un mejor rendimiento en las pruebas históricas.

Riesgo estratégico

Las estrategias de ADX de línea recta doble también presentan los siguientes riesgos principales:

  1. La configuración incorrecta de los parámetros ADXR puede causar oportunidades de negociación perdidas.

    • Se puede ampliar el rango de parámetros de ADXR según corresponda, o ajustar los parámetros según las diferentes variedades.
  2. En situaciones especiales, puede haber más señales falsas.

    • Se puede considerar su uso en combinación con otros indicadores para filtrar aún más la señal.
  3. Los parámetros de la EMA son fijos y no pueden adaptarse a los cambios del mercado.

    • Se puede probar con una versión optimizada que se adapta a los parámetros de la EMA.
  4. La incapacidad de identificar las zonas de fluctuación de los precios puede generar demasiadas transacciones no válidas.

    • Se puede agregar un juicio lógico adicional o un indicador para identificar el comportamiento sísmico.

Dirección de optimización de la estrategia

La estrategia de selección de ADX de doble línea equitativa puede optimizarse aún más en los siguientes aspectos:

  1. Los parámetros de la EMA se optimizan para que puedan cambiar automáticamente según las circunstancias.

  2. El rango de parámetros de ADXR se ha optimizado para incluir más señales de negociación efectivas.

  3. Añadir indicadores adicionales para juzgar la tendencia, combinar la generación de señales y mejorar la calidad.

  4. Aumentar las estrategias de stop loss, establecer criterios de stop loss y controlar el riesgo de una sola operación.

  5. Optimización de las estrategias de gestión de fondos para que se ajusten automáticamente las posiciones de acuerdo con el estado de la cuenta.

Resumir

La estrategia de selección de ADX de doble línea media mejora la calidad de la señal mediante una combinación innovadora de la estrategia tradicional de doble línea media con el indicador ADXR, mejora la estabilidad de la estrategia, es capaz de identificar eficazmente las tendencias en la etapa inicial, y tiene un mejor rendimiento en la retrospectiva histórica. La estrategia tiene un gran espacio de optimización y puede mejorarse en muchos aspectos, lo que la hace muy adaptable y rentable en mercados más complejos.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-05 00:00:00
end: 2023-12-05 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/04/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// The Average Directional Movement Index Rating (ADXR) measures the strength 
// of the Average Directional Movement Index (ADX). It's calculated by taking 
// the average of the current ADX and the ADX from one time period before 
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening 
// and weakening trends. However, because it represents an average of ADX, values 
// don't fluctuate as dramatically and some analysts believe the indicator helps 
// better display trends in volatile markets.
//
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos

fADX(Len) =>
    up = ta.change(high)
    down = -ta.change(low)
    trur = ta.rma(ta.tr, Len)
    plus = fixnan(100 * ta.rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * ta.rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

ADXR(LengthADX,LengthADXR,Signal1,Signal2) =>
    pos = 0.0
    xADX = fADX(LengthADX)
    xADXR = (xADX + xADX[LengthADXR]) / 2
    pos := xADXR < Signal1 ? 1 : xADXR > Signal2 ? -1 : nz(pos[1], 0) 
    pos

strategy(title='Combo 2/20 EMA & ADXR', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ ADXR  ═════●'
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
Signal1 = input.float(13, step=0.01)
Signal2 = input.float(45, step=0.01)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosADXR = ADXR(LengthADX,LengthADXR,Signal1,Signal2)
iff_1 = posEMA20 == -1 and prePosADXR == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosADXR == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
    strategy.entry('Long', strategy.long)
if possig == -1
    strategy.entry('Short', strategy.short)
if possig == 0
    strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)