Sistema de media móvil de reversión con seguimiento de dos líneas


Fecha de creación: 2023-11-07 16:00:33 Última modificación: 2023-11-07 16:00:33
Copiar: 0 Número de Visitas: 612
1
Seguir
1617
Seguidores

Sistema de media móvil de reversión con seguimiento de dos líneas

Descripción general

El sistema de línea media inversa de doble seguimiento combina la estrategia inversa de 123 formas con la estrategia de tabla de equilibrio de primera vista, con el objetivo de descubrir oportunidades de reversión y seguir la tendencia para obtener ganancias adicionales.

Principio de estrategia

La estrategia se compone de dos subestrategias:

  1. 123 estrategias de reversión de las formas

La estrategia se basa en el comportamiento de los precios. La lógica es:

  • Hacer más cuando el precio de cierre ha subido dos días consecutivos y la línea K lenta ha bajado a 50 en 9 días
  • Cuando el precio de cierre ha bajado dos días consecutivos y la línea K rápida está por encima de 50 en el día 9, hacer un descubierto

La estrategia utiliza la forma en que los precios superan el cierre del día anterior para determinar la reversión y utiliza el índice de combinación de líneas K de la acción para eliminar la corrección de la oscilación.

  1. Estrategias de la tabla de equilibrio

La estrategia se basa en un cruce de cinco líneas de la tabla de equilibrio de primera vista. La lógica específica es:

  • Hacer más cuando el precio de cierre está por encima de la línea de referencia
  • Cancelar cuando el precio de cierre está por debajo de la línea de conversión

La línea de referencia es el punto medio de los precios más altos y más bajos de los últimos 26 días, mientras que la línea de conversión es el punto medio de los precios más altos y más bajos de los últimos 9 días. La estrategia utiliza un sistema de búsqueda de tendencias de cruce de líneas medias.

La estrategia final se combina de acuerdo con las señales de las dos estrategias secundarias, cuando ambas abren posiciones a la vez a la vista o a la baja, y a la vista y a la baja.

Análisis de las ventajas

  • La combinación de reversión y tendencia permite capturar oportunidades de reversión y seguir tendencias, y la estrategia es flexible.
  • El formato 123 es sencillo y práctico para identificar los puntos críticos de inflexión.
  • Los parámetros de la tabla de equilibrio a primera vista se han optimizado y el riesgo de ruptura es bajo.
  • La combinación de dos tipos diferentes de estrategias permite la optimización de la estrategia.

Análisis de riesgos

  • La estrategia inversa es fácil de atrapar y existe el riesgo de pérdidas. Se puede reducir el ciclo de negociación adecuadamente o aumentar el stop loss para controlar el riesgo.
  • La tabla de equilibrio es fácilmente manipulable en situaciones de crisis, y se pueden ajustar los parámetros o agregar condiciones de filtración para reducir las transacciones innecesarias.
  • La combinación de las dos estrategias, la mala coincidencia de los parámetros puede causar señales demasiado frecuentes o escasas, que necesitan ser cuidadosamente probadas y optimizadas.

Dirección de optimización

  • Prueba más combinaciones de indicadores para encontrar mejores medios de filtración. Por ejemplo, indicadores de capacidad de combinación.
  • Optimizar los parámetros de la tabla de equilibrio de primera vista para adaptarla mejor a las características específicas del producto.
  • Se puede configurar el stop loss de la posición según el ATR.
  • El proyecto incluye un módulo de gestión de dinero para controlar el riesgo.
  • En el retrospectivo se recopilan más datos, se realizan pruebas multidireccionales de las estrategias, se descubren problemas y se optimizan continuamente.

Resumir

La estrategia tiene ciertas ventajas de negociación, pero también existe el riesgo de amortización y deterioro. Necesitamos optimizar continuamente la lógica de la estrategia en el retrospectivo, junto con medidas rigurosas de gestión de riesgos para mejorar la estabilidad de la estrategia y el rendimiento en el mercado. En general, la estrategia nos ofrece un buen camino, es decir, combinar diferentes tipos de estrategias para obtener un mejor efecto general.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/11/2020
// 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
//  Ichimoku Strategy
//
// 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

middleDonchian(Length) =>
    lower = lowest(Length)
    upper = highest(Length)
    avg(upper, lower)    
    
Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement) =>
    pos = 0.0
    Tenkan = middleDonchian(conversionPeriods)
    Kijun =  middleDonchian(basePeriods)
    xChikou = close
    SenkouA = middleDonchian(laggingSpan2Periods)
    SenkouB = (Tenkan[basePeriods] + Kijun[basePeriods]) / 2
    pos := iff(close < SenkouA[displacement], -1,
              iff(close > SenkouB, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ichimoku2c", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
conversionPeriods = input(9, minval=1),
basePeriods = input(26, minval=1)
laggingSpan2Periods = input(52, minval=1),
displacement = input(26, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posIchimoku2c = Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement)
pos = iff(posReversal123 == 1 and posIchimoku2c == 1 , 1,
	   iff(posReversal123 == -1 and posIchimoku2c == -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 )