123 Estrategia de inversión de la media móvil

El autor:¿ Qué pasa?, Fecha: 2023-10-20 16:05:43
Las etiquetas:

img

Resumen general

La estrategia de inversión de media móvil 123 es una estrategia de trading cuantitativa que combina las técnicas de inversión de 123 y los indicadores de inversión de media móvil.

Estrategia lógica

La estrategia consta de dos partes:

La primera parte es la estrategia de inversión 123. Sus señales de negociación provienen del oscilador KDJ. Específicamente, si el precio de cierre es inferior al cierre anterior durante dos días de negociación consecutivos, y la línea lenta K de 9 días está por debajo de 50, se genera una señal de compra; si el precio de cierre es superior al cierre anterior durante dos días de negociación consecutivos, y la línea rápida K de 9 días está por encima de 50, se genera una señal de venta.

La segunda parte es la estrategia de envolvente de promedio móvil. Utiliza promedios móviles y líneas de envolvente por encima y por debajo de los promedios móviles para determinar tendencias. Específicamente, si el precio de cierre es mayor que la banda superior, se genera una señal de compra; si el precio de cierre es menor que la banda inferior, se genera una señal de venta.

La estrategia combina los dos tipos de señales comerciales anteriores. Sólo abrirá posiciones largas cuando las inversiones 123 y los sobres de promedio móvil dan señales de compra; solo abrirá posiciones cortas cuando ambos dan señales de venta. Esto filtra algunas señales inválidas y reduce la frecuencia comercial al tiempo que mejora la rentabilidad.

Análisis de ventajas

  • Combina la inversión y la tendencia para mejorar la rentabilidad

    La estrategia de inversión 123 sobresale en la captura de oportunidades de reversión cerca de los niveles clave de soporte y resistencia. La estrategia de envolvente de promedio móvil determina con precisión la dirección de la tendencia.

  • El doble filtro reduce la frecuencia de las operaciones

    Las operaciones solo se realizan cuando ambos indicadores dan señales, lo que evita la interferencia de señales no válidas excesivas de un solo indicador y reduce así la frecuencia y los costes de negociación.

  • Los parámetros personalizables proporcionan flexibilidad

    Los parámetros ajustables permiten a los usuarios adaptar la estrategia a las condiciones del mercado y a las preferencias personales para mejorar la adaptabilidad.

  • El comercio unilateral simplifica las operaciones

    La estrategia sólo es larga o corta, sin posiciones invertidas.

Análisis de riesgos

  • Las reversiones luchan en tendencias persistentes

    La estrategia se basa principalmente en inversiones para obtener ganancias. Durante períodos de tendencia largos, puede producir pérdidas continuas.

  • La optimización de parámetros es difícil

    Los múltiples parámetros ajustables plantean desafíos de optimización.

  • El alto volumen de negocios aumenta los riesgos comerciales

    Los cambios frecuentes de posición permiten obtener pequeños beneficios, pero también aumentan los costes y los riesgos derivados del exceso de negociación.

  • No hay límite de extracción

    La ausencia de un stop loss significa que no hay límite en la extracción máxima, los eventos del cisne negro podrían causar pérdidas graves.

Direcciones de optimización

  • Añadir el stop loss

    Implementar un stop loss en movimiento o en retraso para limitar las reducciones.

  • Optimiza los parámetros

    Prueba de retroceso y prueba de avance para encontrar parámetros óptimos para una mayor estabilidad.

  • Añadir filtros de señal

    La adición de filtros como MACD y Bollinger Bands puede validar las señales y mejorar aún más la calidad al tiempo que reduce las operaciones no deseadas.

  • Reducir la frecuencia de las operaciones

    Una modesta flexibilización de las condiciones de inversión y el ajuste de los valores de las medias móviles a una menor facturación pueden reducir los costes y los riesgos.

Conclusión

La estrategia de envolvente de promedio móvil inverso 123 combina las fortalezas de la negociación inversa y el seguimiento de tendencias para un rendimiento superior ajustado al riesgo constante.


/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/03/2021
// 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
// Moving Average Envelopes are percentage-based envelopes set above and 
// below a moving average. The moving average, which forms the base for 
// this indicator, can be a simple or exponential moving average. Each 
// envelope is then set the same percentage above or below the moving average. 
// This creates parallel bands that follow price action. With a moving average 
// as the base, Moving Average Envelopes can be used as a trend following indicator. 
// However, this indicator is not limited to just trend following. The envelopes 
// can also be used to identify overbought and oversold levels when the trend is 
// relatively flat. 
//
// 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


MAE(Length,PercentShift) =>
    pos = 0.0
    xSMA = sma(close, Length)
    xHighBand = xSMA + (xSMA * PercentShift / 100)
    xLowBand = xSMA - (xSMA * PercentShift / 100)
    pos := iff(close > xHighBand, 1,
             iff(close <xLowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Moving Average Envelopes", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- MA Envelope ----")
LengthMA = input(18, minval=1)
PercentShift = input(0.2, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMAE = MAE(LengthMA,PercentShift)
pos = iff(posReversal123 == 1 and posMAE == 1 , 1,
	   iff(posReversal123 == -1 and posMAE == -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 )

Más.