Estrategia de inversión del patrón de giro del impulso


Fecha de creación: 2023-11-15 15:36:39 Última modificación: 2023-11-15 15:36:39
Copiar: 0 Número de Visitas: 632
1
Seguir
1617
Seguidores

Estrategia de inversión del patrón de giro del impulso

Descripción general

La estrategia combina la inversión de la forma 123 y la estrategia de fácil movimiento, cuyo objetivo es realizar operaciones mediante la captura de los puntos de inflexión de los precios. La estrategia de inversión de la forma 123 genera señales cuando los precios de las acciones forman un patrón específico durante tres días consecutivos. La estrategia de fácil movimiento (EOM) utiliza los cambios en los precios y el volumen de transacciones para determinar la dinámica del mercado.

Principio de estrategia

La estrategia tiene dos partes:

  1. 123 estrategias de reversión de las formas
  • El indicador de Stoch para determinar la sobrecompra y la sobreventa
  • Cuando el precio de cierre cae dos días seguidos y la línea rápida de Stoch está por encima de la línea lenta, haga un descuento
  • Hacer más cuando el precio de cierre ha subido dos días consecutivos y la línea rápida de Stoch está por debajo de la línea lenta
  1. Estrategias de fácil movilidad
  • Calcula el punto medio de la diferencia del día anterior
  • Movimiento (variación) del punto medio del intervalo de cálculo con respecto al día anterior
  • Cálculo de la relación entre el movimiento del punto medio y el volumen de transacciones
  • El ratio es mayor que la devaluación y menor que la devaluación.

Combinación de dos señales, cuando Easy of Movement y la forma 123 hacen al mismo tiempo señales múltiples, abre más posiciones; cuando Easy of Movement y la forma 123 hacen al mismo tiempo señales de vacío, abre posiciones vacías.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Mejora de la precisión de la señal, combinada con la configuración de la tecnología de precios y la dinámica del mercado

  2. 123 forma inversa para capturar los puntos de inflexión, fácil de mover para determinar el movimiento de la tendencia, ambos complementarios

  3. El indicador Stoch evita cerrar posiciones repetidas en el balance

  4. La lógica de la transacción es simple, clara y fácil de implementar

  5. Parámetros personalizables para adaptarse a diferentes entornos del mercado

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. Demasiada dependencia de la configuración de los parámetros, los parámetros incorrectos pueden causar transacciones frecuentes o faltas de factura

  2. El uso conjunto de varias condiciones de filtración puede producir una frecuencia de señal demasiado baja

  3. Los indicadores móviles son sensibles a las fluctuaciones del mercado y pueden provocar falsas señales.

  4. Las inversiones en el mercado de valores son más bajas, por lo que es necesario controlar el tamaño de las posiciones.

  5. Solo se aplica a las acciones de tendencia, no es adecuado para la liquidación

Dirección de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Parámetros de optimización, ajuste de la rigidez de las condiciones de filtración, equilibrio de la frecuencia de transacción y la calidad de la señal

  2. La inclusión de una estrategia de stop loss y un control estricto de las pérdidas individuales

  3. El filtro de tendencias y la prevención de las inversiones adversas

  4. Agrega un módulo de gestión de fondos para ajustar posiciones de forma dinámica en función de la volatilidad

  5. Optimización de parámetros con métodos de aprendizaje automático para adaptarlos dinámicamente al mercado

Resumir

La estrategia integra indicadores técnicos de precios e indicadores de la dinámica del mercado, confirma la calidad de la tendencia al mismo tiempo que captura los puntos de inflexión y tiene un alto valor en la vida real. Pero también debe tener en cuenta el control de la frecuencia de operaciones, los riesgos de pérdidas individuales y operaciones de contrarreloj.

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 14/04/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
// This indicator gauges the magnitude of price and volume movement. 
// The indicator returns both positive and negative values where a 
// positive value means the market has moved up from yesterday's value 
// and a negative value means the market has moved down. A large positive 
// or large negative value indicates a large move in price and/or lighter 
// volume. A small positive or small negative value indicates a small move 
// in price and/or heavier volume.
// A positive or negative numeric value. A positive value means the market 
// has moved up from yesterday's value, whereas, a negative value means the 
// market has moved down. 
//
// 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

EOM(BuyZone, SellZone) =>
    pos = 0
    xHigh = high
    xLow = low
    xVolume = volume
    xHalfRange = (xHigh - xLow) * 0.5
    xMidpointMove = mom(xHalfRange, 1)
    xBoxRatio = iff((xHigh - xLow) != 0, xVolume / (xHigh - xLow), 0)
    nRes = iff(xBoxRatio != 0, 1000000 * ((xMidpointMove - xMidpointMove[1]) / xBoxRatio), 0)
    pos := iff(nRes > BuyZone, 1,
             iff(nRes < SellZone, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ease of Movement (EOM)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
BuyZone = input(4000, minval=1)
SellZone = input(-4000)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEOM = EOM(BuyZone, SellZone)
pos = iff(posReversal123 == 1 and posEOM == 1 , 1,
	   iff(posReversal123 == -1 and posEOM == -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 )