Estrategia combinada de reversión de media móvil doble y trailing stop de ATR


Fecha de creación: 2024-01-26 11:26:40 Última modificación: 2024-01-26 11:26:40
Copiar: 0 Número de Visitas: 402
1
Seguir
1226
Seguidores

Estrategia combinada de reversión de media móvil doble y trailing stop de ATR

Descripción general

La combinación de la inversión de la línea de paridad doble con el trailing stop de ATR es una estrategia de comercio cuantitativa muy práctica. La estrategia utiliza primero la horquilla muerta y el cruce de oro que se forman en la línea de paridad doble para juzgar la tendencia del mercado y el punto de reversión. La estrategia también se combina con la amplitud real promedio para establecer el trail stop y controlar el riesgo mientras se garantiza la ganancia.

Principio de estrategia

La estrategia de la inversión de doble línea

La estrategia de inversión de doble línea equilibrada utiliza el cruce de la línea rápida y la línea lenta para juzgar la tendencia del mercado. Cuando la línea rápida pasa de arriba a abajo a través de la línea lenta, se forma una horca muerta, lo que significa que el mercado cambia de verticalidad a baja; cuando la línea rápida pasa de abajo a arriba a través de la línea lenta, se forma una horca dorada, lo que significa que el mercado cambia de verticalidad a baja.

En concreto, la estrategia elige la línea rápida del indicador STOCH de 9 días como línea rápida, y la EMA de 3 días como línea lenta. Cuando el cierre es inferior al cierre del día anterior y la línea rápida es superior a 50 y cruza la línea lenta, se borra la posición; cuando el cierre es superior al cierre del día anterior y la línea rápida es inferior a 50 y cruza la línea lenta, se borra más.

La estrategia de trailing stop de ATR

La estrategia ATR Trailing Stop utiliza la amplitud real promedio para establecer un punto de parada. El indicador ATR puede reflejar eficazmente la volatilidad a corto plazo del mercado. La estrategia establece un trail stop en función del valor de ATR, y el stop loss se retira cuando el movimiento del precio se invierte.

En concreto, la estrategia elige el ATR de 5 días, y el punto de parada se establece en el cerrar menos 3.5 veces el ATR. Cuando el precio alcanza el punto de parada, se cierra la posición.

Análisis de las ventajas

La combinación de la inversión de doble línea recta con la estrategia de trailing stop de ATR combina las ventajas de la estrategia de línea recta para juzgar la tendencia y la reversión, y las ventajas de la estrategia de trail stop de ATR para controlar el riesgo, lo que la convierte en una estrategia muy práctica.

En concreto, la estrategia tiene las siguientes ventajas:

  1. Utilizando la línea de doble equilibrio de la horca muerta y el cruce de oro para juzgar el punto de cambio de tendencia del mercado, para juzgar con precisión la señal de reversión.

  2. En combinación con el indicador STOCH para confirmar la señal de inversión y evitar señales erróneas.

  3. ATR trailing stop es un sistema de fijación de pérdidas y ganancias que se adapta a las fluctuaciones del mercado.

  4. La estrategia combina varios indicadores y métodos de análisis técnico, que se utilizan en combinación, lo que hace que la estrategia sea más sólida.

  5. La estrategia es clara y fácil de entender, los parámetros se ajustan con flexibilidad y es fácil de operar en el disco.

Análisis de riesgos

Si bien la estrategia tiene muchas ventajas, también hay ciertos riesgos a tener en cuenta:

  1. Las señales generadas por las dos líneas medias pueden tener un retraso y no se puede comprar y vender con precisión antes y después del punto de inflexión. Se puede reducir adecuadamente el ciclo de la línea mediana o optimizarlo en combinación con otros indicadores.

  2. El indicador ATR no es sensible a las grandes fluctuaciones del mercado y no puede actualizar el punto de parada a tiempo. Se puede considerar la posibilidad de ajustar en combinación con el indicador de dinámica o el indicador de fluctuación.

  3. El uso combinado de múltiples parámetros y condiciones aumenta la complejidad de la estrategia. El uso inadecuado de parámetros puede generar operaciones demasiado radicales y aumentar el riesgo. Se debe evaluar cuidadosamente y ajustar los parámetros gradualmente.

Dirección de optimización

De acuerdo con el análisis de riesgos mencionado anteriormente, la estrategia puede ser optimizada en los siguientes aspectos:

  1. Ajuste el parámetro del ciclo de la media y reduzca el ciclo para capturar la oportunidad de reversión con anticipación.

  2. Añadir otros indicadores para juzgar la señal de inversión, como MACD, KD, etc., forma una confirmación múltiple.

  3. Ajuste dinámico del ciclo ATR o introducción de la volatilidad del mercado para actualizar los puntos de parada en tiempo real.

  4. Evaluar las diferencias entre el mercado de acciones y el de futuros y ajustar los parámetros para que se ajusten mejor a las características de ambos mercados.

  5. La inclusión de los costos de transacción y los puntos de deslizamiento en la retrospectiva hace que la estrategia se acerque más al entorno de las operaciones en el mercado real.

  6. Se puede considerar la inclusión de modelos de aprendizaje automático para optimizar dinámicamente varios parámetros.

Resumir

La combinación de una estrategia de inversión de doble línea de equilibrio con una parada de seguimiento de ATR es una estrategia de cuantificación práctica y eficiente. Combina las dos ventajas de la inversión de mercado de un juicio de línea de equilibrio y el control del riesgo de la parada de seguimiento de ATR. Al mismo tiempo que garantiza una ganancia, reduce las pérdidas innecesarias. La estrategia es flexible para ajustar los parámetros y es fácil de operar en el entorno real.

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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/05/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Secon strategy
// Average True Range Trailing Stops Strategy, by Sylvain Vervoort 
// The related article is copyrighted material from Stocks & Commodities Jun 2009 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


ATR_TrailingStop(nATRPeriod, nATRMultip) =>
    xATR = atr(nATRPeriod)
    nLoss = nATRMultip * xATR
    pos = 0.0
    xATRTrailingStop = 0.0
    xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
                         iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), 
                           iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
    pos := iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
    	     iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 

    pos

strategy(title="Combo Backtest 123 Reversal & Average True Range Trailing Stops", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
nATRPeriod = input(5)
nATRMultip = input(3.5)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posATR_TrailingStop = ATR_TrailingStop(nATRPeriod, nATRMultip)
pos = iff(posReversal123 == 1 and posATR_TrailingStop == 1 , 1,
	   iff(posReversal123 == -1 and posATR_TrailingStop == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
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 ? red: possig == 1 ? green : blue )