Estrategia de cambio de impulso de ocho días

El autor:¿ Qué pasa?, Fecha: 2023-12-05 10:56:37
Las etiquetas:

img

Resumen general

Esta estrategia utiliza principalmente la característica de reversión de los precios después de cerrar continuamente por encima o por debajo de la media móvil simple de 5 días durante 8 días para capturar el efecto de impulso a mediano y corto plazo.

Estrategia lógica

  1. Calcule la media móvil simple de 5 días.
  2. Definir la tendencia alcista TrendUp como cerrar mayor o igual a SMA, tendencia bajista TrendDown como cerrar menor o igual a SMA.
  3. Confirmar la condición para la inversión de tendencia: activar la señal de compra cuando el precio de cierre cierra por debajo de la SMA durante 8 días consecutivos y se convierte en tendencia alcista (cruza por encima de la SMA) al día siguiente; activar la señal de venta cuando el precio de cierre cierra por encima de la SMA durante 8 días consecutivos y se convierte en tendencia bajista (cruza por debajo de la SMA) al día siguiente.
  4. Entrada: larga cuando la condición de compra Comprar se activa ayer y la tendencia actual es bajista; corta cuando la condición de venta Vender se activa ayer y la tendencia actual es alcista.
  5. Exit: cierre de una posición larga cuando el precio de cierre se cruza por debajo de la SMA; cierre de una posición corta cuando el precio de cierre se cruza por encima de la SMA.

Análisis de ventajas

  1. Captura el impulso mediante la utilización de características de inversión de precios, adecuadas para el comercio a mediano y corto plazo.
  2. Oportunidades de trading altas como la ruptura continua de SMA durante 8 días ocurre con frecuencia.
  3. El parámetro SMA de 5 días funciona bien, evita demasiadas fallas.
  4. Riesgo controlado con un punto de stop loss claro.

Análisis de riesgos

  1. Las pérdidas de detención pueden activarse con frecuencia durante la consolidación del mercado.
  2. Puede perder el mejor punto de entrada si los días de escape son demasiado largos.
  3. Es difícil obtener ganancias si hay una tendencia prolongada.

Puede optimizar los parámetros de la SMA, mejorar los criterios de entrada para evitar una falsa ruptura, combinarse con indicadores de tendencia para fortalecer la estrategia.

Direcciones de optimización

  1. Optimización de parámetros: prueba diferentes períodos de SMA para encontrar mejores parámetros.
  2. Optimización de entrada: agregue indicadores de volumen para evitar fallas falsas; o juzgue las velas toro / oso para evitar las whipssaws.
  3. Optimización de salida: prueba de pérdida de parada de porcentaje fijo para dar más espacio.
  4. Control de riesgos: establecer tiempos máximos diarios de suspensión de pérdidas para limitar las pérdidas.
  5. Combinar indicadores: añadir el RSI, el MACD para determinar la tendencia para identificar las condiciones del mercado.

Conclusión

La estrategia captura el movimiento del precio desde la ruptura hasta el retroceso al juzgar el impulso, implementa la lógica de negociación de evitar los golpes y seguir la tendencia. Las claves son ajustes estrictos de parámetros y criterios de entrada robustos para evitar ruido; stop loss razonable para limitar las pérdidas. Combinar con indicadores de tendencia puede lograr mejores resultados. La lógica de la estrategia es simple y limpia. Vale la pena explorar una mayor optimización.


/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Marcuscor

//@version=5

// Inpsired by Linda Bradford Raschke: a strategy for trading momentum in futures markets

strategy("8D Run", initial_capital = 50000, commission_value = 0.0004) 


SMA = ta.sma(close,5)

TrendUp = close >= SMA

TrendDown = close <= SMA


//logic to long

TriggerBuy = ta.barssince(close < SMA) >= 8

Buy = TriggerBuy[1] and TrendDown 

strategy.entry("EL", strategy.long, when = Buy)
strategy.close(id = "EL", when = close > SMA)

// 1) color background when "run" begins and 2) change color when buy signal occurs
bgcolor(TriggerBuy? color.green : na, transp = 90)
bgcolor(Buy ? color.green : na, transp = 70)


// logic to short 

TriggerSell = ta.barssince(close > SMA) >= 8

Sell = TriggerSell[1] and TrendUp

strategy.entry("ES", strategy.short, when = Sell)
strategy.close(id = "ES", when = close < SMA)

// 1) color background when "run" begins and 2) change color when sell signal occurs
bgcolor(TriggerSell ? color.red : na, transp = 90)
bgcolor(Sell ? color.red : na, transp = 70) 







Más.