
Descripción general
La estrategia de doble línea GM-8 & ADX es una estrategia de comercio cuantitativa que combina varios indicadores técnicos. La estrategia utiliza el indicador GM-8, el indicador ADX y un segundo indicador EMA para identificar posibles señales de compra y venta. El indicador GM-8 se utiliza para determinar la tendencia del precio, el indicador ADX para confirmar la fuerza de la tendencia y el segundo indicador EMA para ayudar a determinar la dirección de la tendencia.
Principio de estrategia
Los principios de la estrategia de doble línea GM-8 & ADX son los siguientes:
- Calcula el indicador GM-8 para determinar la tendencia de los precios. Cuando el precio de cierre cruza la línea media GM-8 arriba / abajo, indica que la tendencia puede revertirse.
- Calcular el indicador ADX, utilizado para confirmar la fuerza de la tendencia. Cuando el indicador ADX es superior al umbral (como el 34), que indica que la tendencia actual es fuerte, se puede considerar la entrada.
- Calcular el segundo EMA para ayudar a determinar la dirección de la tendencia. Cuando el precio está por encima del segundo EMA, se tiende a hacer más; por el contrario, se tiende a hacer menos.
- La combinación de GM-8, el ADX y el segundo EMA generan una señal de compra y venta:
- Haga más señales: el GM-8 se cruza en la línea media del precio de cierre actual, y está por encima del GM-8 y el segundo EMA, mientras que el ADX está por encima de la brecha.
- Señales de salida: la línea media GM-8 se cruza por debajo del precio de cierre actual y está por debajo del GM-8 y el segundo EMA, mientras que el ADX está por encima de la brecha.
- Una vez en la cancha, se produce la señal de espera hasta salir:
- La señal de Punto: cruza la línea media del GM-8 bajo el precio de cierre actual y está por debajo del GM-8.
- Señales de horizonte plano: el precio de cierre actual está en la línea media del GM-8 y por encima del GM-8.
Ventajas estratégicas
- La combinación de varios indicadores mejora la fiabilidad de la señal: la estrategia integra los indicadores de tendencia ((GM-8), el indicador de intensidad de la tendencia ((ADX) y el indicador de dirección de la tendencia ((EMA)), lo que puede filtrar eficazmente algunas señales falsas.
- Parámetros ajustables, alta flexibilidad: los parámetros de la estrategia, como el ciclo GM-8, el ciclo ADX, el límite ADX, el segundo ciclo EMA, etc., se pueden ajustar según las características del mercado y las preferencias personales para adaptarse a diferentes estilos de negociación.
- Lógica clara y fácil de implementar: La lógica de negociación de la estrategia es relativamente simple y clara, fácil de entender e implementar, adecuada para que los comerciantes novatos aprendan a usarla.
Riesgo estratégico
- Retraso en la identificación de tendencias: los indicadores de la clase de tendencias como el GM-8 son, en esencia, indicadores retrasados, y puede haber un retraso en la identificación de tendencias, lo que lleva a perder la mejor oportunidad de entrada o aumentar las pérdidas.
- Negociación frecuente: Esta estrategia tiene un número relativamente alto de señales de compra y venta, lo que puede conducir a operaciones frecuentes, aumentar los costos de las comisiones y puede tener un mal desempeño en mercados convulsivos.
- Dificultad de selección de parámetros: la estrategia incluye varios parámetros, y la búsqueda de la combinación óptima de parámetros requiere una gran cantidad de trabajo de retroalimentación y análisis, algo difícil para los principiantes.
Dirección de optimización de la estrategia
- Introducción de más condiciones de filtración: Además de GM-8, ADX y EMA, se pueden agregar otros indicadores auxiliares como tráfico, fluctuación, etc., para mejorar aún más la calidad de la señal.
- Optimización de los tiempos de entrada y salida: Se puede considerar la introducción de métodos como la creación de posiciones progresiva y el stop loss gradual para reducir el riesgo de una sola transacción y mejorar la rentabilidad general.
- Parámetros de ajuste dinámico: Parámetros de estrategia de ajuste dinámico en función de los cambios en el estado del mercado, como el uso de un ciclo GM-8 más largo en un mercado de tendencia, el uso de un ciclo GM-8 más corto en un mercado de crisis, etc.
- Incorporar gestión de posiciones: controlar el tamaño de las posiciones de cada transacción en función de factores como la situación de los fondos de la cuenta y las preferencias de riesgo, para evitar la concentración excesiva del riesgo.
Resumir
La estrategia GM-8 & ADX es una estrategia clásica de comercio cuantitativo, que combina varios indicadores técnicos para identificar señales de compra y ventaja de la estrategia es que la lógica es simple y clara, la señal es relativamente confiable, y es adecuada para que los principiantes aprendan a usarla. Pero también existe el riesgo de retraso en la identificación de la tendencia, el comercio frecuente y la dificultad para elegir los parámetros. Para mejorar aún más el rendimiento de la estrategia, se puede considerar la introducción de más medidas de filtración de condiciones, optimización de entradas y salidas, ajuste dinámico de los parámetros, optimización de la administración de posiciones.
Código Fuente de la Estrategia
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("GM-8 and ADX Strategy with Second EMA", overlay=true)
// Input parameters
gm_period = input(15, title="GM-15 Period")
second_ema_period = input(59, title="Second EMA Period")
adx_period = input(8, title="ADX Period")
adx_threshold = input(34, title="ADX Threshold")
lot_size = input.float(0.4, title="Lot Size")
// Calculate the ADX manually
adx(high, low, close, length) =>
sum_truerange = 0.0
sum_plusDM = 0.0
sum_minusDM = 0.0
for i = 1 to length
truerange_calc = high[i] - low[i]
truerange_prev_close = high[i] - close[i-1]
truerange_close = low[i] - close[i-1]
truerange_calc := truerange_prev_close > truerange_calc ? truerange_prev_close : truerange_calc
truerange_calc := truerange_close > truerange_calc ? truerange_close : truerange_calc
sum_truerange := sum_truerange + truerange_calc
plusDM = high[i] - high[i-1] > low[i-1] - low[i] and high[i] - high[i-1] > 0 ? high[i] - high[i-1] : 0
sum_plusDM := sum_plusDM + plusDM
minusDM = low[i-1] - low[i] > high[i] - high[i-1] and low[i-1] - low[i] > 0 ? low[i-1] - low[i] : 0
sum_minusDM := sum_minusDM + minusDM
plusDI = sum_plusDM / sum_truerange * 100
minusDI = sum_minusDM / sum_truerange * 100
sumDI = plusDI + minusDI
adx_value = 100 * (plusDI - minusDI) / (sumDI == 0 ? 1 : sumDI)
// Calculate indicators
gm_8 = ta.sma(close, gm_period)
second_ema = ta.ema(close, second_ema_period)
adx_value = adx(high, low, close, adx_period)
// Define buy and sell conditions
buy_condition = ta.crossover(close, gm_8) and close > gm_8 and close > second_ema and adx_value > adx_threshold
sell_condition = ta.crossunder(close, gm_8) and close < gm_8 and close < second_ema and adx_value > adx_threshold
// Entry and exit logic
if (buy_condition)
strategy.entry("Buy", strategy.long, qty=lot_size)
if (sell_condition)
strategy.entry("Sell", strategy.short, qty=lot_size)
// Exit conditions
exit_buy_condition = ta.crossunder(close, gm_8) and close < gm_8
exit_sell_condition = ta.crossover(close, gm_8) and close > gm_8
if (exit_buy_condition)
strategy.close("Buy")
if (exit_sell_condition)
strategy.close("Sell")