Estrategia de seguimiento de tendencias para la reversión del ciclo después de un retroceso


Fecha de creación: 2023-11-15 17:13:18 Última modificación: 2023-11-15 17:13:18
Copiar: 0 Número de Visitas: 605
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias para la reversión del ciclo después de un retroceso

Descripción general

Esta estrategia utiliza dos indicadores: la inversión de la línea de movimiento promedio y el indicador de la oscilación de los precios, para formar una señal de negociación y lograr una estrategia de negociación de tendencias que capture el rebote después de que ocurra una inversión cíclica.

El principio

La estrategia utiliza los siguientes dos indicadores técnicos para evaluar las señales de negociación:

  1. Inversión de la línea media de movimiento

Esta sección permite determinar si se produce una señal de reversión mediante el cálculo de la caída del precio de cierre en los últimos dos días, combinada con la magnitud del valor de la línea rápida K. Se produce una señal de compra cuando el precio ha subido continuamente en los últimos dos días y el valor de la línea rápida K está por debajo del valor de la línea lenta K. Se produce una señal de venta cuando el precio ha bajado continuamente en los últimos dos días y el valor de la línea rápida K está por encima del valor de la línea lenta K.

  1. Precios fuera del índice

El indicador Detrend Price Oscillator identifica el ciclo de precios mediante el trazado de una media móvil horizontal y la relación entre el precio y la línea. Filtra las tendencias que son más largas que los ciclos calculados y, por lo tanto, identifica las fluctuaciones de corto plazo ocultas en la media móvil.

Esta estrategia combina las señales de los dos indicadores, es decir, cuando se produce una señal de reversión de la línea de movimiento promedio, mientras que el indicador de desviación de precios también da una señal de reversión confirmada, se produce una instrucción de negociación. De esta manera, se puede filtrar algunas señales de reversión ineficaces y aprovechar la oportunidad de rebote de la tendencia después de la reversión.

Las ventajas

La mayor ventaja de esta estrategia es que se aprovechan razonablemente las ventajas de los dos indicadores, se realizan confirmaciones complementarias, se puede filtrar eficazmente la señal de invalidez y se mejora la fiabilidad de la señal.

El indicador de inversión de la línea de movimiento promedio en sí mismo es propenso a generar señales erróneas, solo depender de él para juzgar, es fácil perseguir al alza y a la baja. Mientras que la introducción de un indicador de desviación de precios para combinar, puede evitar la operación de reversión en un rango de oscilación no ideal.

La configuración de los parámetros del indicador de desviación de precios también determina que solo identifique fluctuaciones de períodos más cortos, lo que coincide muy bien con el juicio de la inversión de la línea de promedio móvil, que puede identificar el momento de la inversión razonable.

El riesgo

El principal riesgo de esta estrategia es:

  1. La falta de resiliencia hace que sea más fácil formar una trampa

La inversión de la línea de movimiento promedio puede ocurrir fácilmente en el área de ajuste de la oscilación. Si la resistencia es insuficiente, es fácil volver a ajustar el toque de la línea de parada y no puede obtener ganancias.

  1. Los parámetros están mal configurados.

Si el parámetro de desviación del precio es demasiado grande, se identifican tendencias de ciclo medio largo; si es demasiado pequeño, aumenta el riesgo de error. Se requiere una prueba cuidadosa para diferentes variedades.

  1. Un incidente inesperado lleva al fracaso de la inversión

La intervención de eventos de noticias de gran magnitud puede alterar el juicio de tendencia original, lo que hace que las señales de reversión no funcionen. Esto requiere la atención a las noticias básicas y evitar el comercio ciego cuando ocurren eventos de noticias.

Dirección de optimización

La estrategia se puede optimizar aún más a partir de los siguientes puntos:

  1. Aumentar el mecanismo de suspensión de pérdidas

La configuración razonable de los paros móviles o los paros de tiempo permite controlar la pérdida única.

  1. Indicador de volumen de negocio

Aumentar la confirmación del volumen de transacciones, por ejemplo, emitiendo señales solo cuando se rompe el volumen promedio de transacciones, puede evitar una ruptura ineficaz con una capacidad de volumen insuficiente.

  1. Optimización de parámetros dinámicos

Optimización dinámica de los parámetros en función de la fase del mercado, flexibilización adecuada de los parámetros cuando la tendencia es evidente y ajuste de los parámetros en caso de crisis.

  1. Optimización dinámica con métodos de aprendizaje automático

El uso de métodos de aprendizaje automático como el bosque aleatorio para evaluar y seleccionar conjuntos de parámetros para optimizar la inteligencia dinámica.

Resumir

Esta estrategia combina mejor las ventajas de los dos indicadores, para capturar la tendencia de rebote en los puntos de inflexión. Aunque todavía hay problemas como el amortiguamiento y la optimización de los parámetros, la idea general es clara, lógica y razonable, vale la pena probar y optimizar aún más para obtener ganancias estables.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/12/2019
// This is combo strategies for get a cumulative signal. 
//
// 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.
//
// Second strategy
// The Detrend Price Osc indicator is similar to a moving average, 
// in that it filters out trends in prices to more easily identify 
// cycles. The indicator is an attempt to define cycles in a trend 
// by drawing a moving average as a horizontal straight line and 
// placing prices along the line according to their relation to a 
// moving average. It provides a means of identifying underlying 
// cycles not apparent when the moving average is viewed within a 
// price chart. Cycles of a longer duration than the Length (number 
// of bars used to calculate the Detrend Price Osc) are effectively 
// filtered or removed by the oscillator.
//
// 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

DPO(Length) =>
    pos = 0.0
    xPrice = close
    xsma = sma(xPrice, Length)
    nRes = xPrice - xsma
    pos := iff(nRes > 0, 1,
    	     iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Detrended Price Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDPO = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDPO = DPO(LengthDPO)
pos = iff(posReversal123 == 1 and posDPO == 1 , 1,
	   iff(posReversal123 == -1 and posDPO == -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 ? #b50404: possig == 1 ? #079605 : #0536b3 )