Estrategia de doble impulso


Fecha de creación: 2023-09-28 15:03:57 Última modificación: 2023-09-28 15:03:57
Copiar: 2 Número de Visitas: 715
1
Seguir
1617
Seguidores

Descripción general

La estrategia de doble dinámica utiliza dos indicadores de dinámica rápida y lenta para generar señales de negociación y señales de salida. Es una estrategia de respuesta rápida que se aplica a las variedades de tendencia en la línea diaria y la línea de 4 horas. La implementación de esta estrategia proviene de la aplicación QuantCT.

Se puede configurar el modo de operación como multi-vacío o solo multi-cabeza.

También se puede configurar un stop-loss fijo o un stop-loss omitido para que la estrategia funcione solo según las señales de entrada y salida.

Principio de estrategia

La estrategia utiliza un indicador de dinámica de ciclo rápido (de 5 días por defecto) y de ciclo lento (de 10 días por defecto).

Cuando la dinámica lenta y la dinámica rápida son mayores a 0 al mismo tiempo, se genera una señal múltiple.

Cuando el movimiento lento o el movimiento rápido es menor que 0, se genera una señal de equilibrio.

De manera similar, cuando el movimiento lento y el movimiento rápido son menores a 0, se produce una señal de falta. Cuando el movimiento lento o el movimiento rápido son mayores a 0, se produce una señal de posición en equilibrio.

Por lo tanto, la estrategia utiliza el cruce de dos conjuntos de diferentes dinámicas periódicas para capturar los cambios en la tendencia y lograr el seguimiento de la tendencia.

Análisis de las ventajas

  • El uso de indicadores de doble dinámica permite capturar con mayor precisión los cambios en las tendencias del mercado y reducir las señales falsas.

  • La dinámica de los ciclos rápidos es sensible a los cambios en el mercado y puede responder rápidamente a las tendencias; los ciclos lentos filtran el ruido del mercado y aseguran la dirección correcta de las operaciones.

  • Opciones flexibles para hacer transacciones solo en múltiples direcciones o en dos direcciones, adaptándose a diferentes preferencias comerciales.

  • Se puede elegir si se utiliza el stop loss o el control de riesgos.

  • La estrategia es sensible a la reacción y es especialmente adecuada para el comercio de tendencias en la línea solar o en ciclos más altos, donde se puede obtener un beneficio adicional.

Análisis de riesgos

  • La estrategia de doble dinámica se basa en que el valor del indicador sea mayor o menor que 0 para determinar la tendencia.

  • La estrategia es más dependiente de la tendencia, tiene un mal desempeño en los mercados consolidados y es propensa a generar exceso de transacciones, lo que aumenta los costos de transacción.

  • Si no se utiliza el stop loss, existe un mayor riesgo de pérdida individual.

  • La variedad adecuada y el ciclo incorrecto también pueden causar un mal desempeño de la estrategia.

Para controlar el riesgo, se recomienda ajustar adecuadamente los parámetros del ciclo de la dinámica y establecer un porcentaje de pérdida fijo razonable. Al mismo tiempo, elija variedades con una clara tendencia y ejecute la estrategia en la línea solar o en un ciclo más alto.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Añadir filtros de otros indicadores, como el MACD o el RSI, para evitar el comercio erróneo en los puntos de inflexión de tendencias.

  2. Aumentar el mecanismo de amortización de pérdidas y ajustar dinámicamente el monto de la amortización de pérdidas según la volatilidad del mercado.

  3. Optimización de los parámetros de potencia para encontrar la combinación de parámetros más adecuada para las diferentes variedades. Se puede lograr mediante métodos como la optimización por pasos o el análisis de marcha adelante.

  4. Aumentar el mecanismo de gestión de posiciones y ajustar el tamaño de las nuevas posiciones en función de los ingresos anticipados.

  5. Distingue entre mercados de tijeras y mercados de tijeras, adopte estrategias de entrada asimetricas. Los mercados de tijeras pueden ser más agresivos y los mercados de tijeras pueden ser más cautelosos.

Resumir

La estrategia de doble dinámica puede obtener mejores ganancias adicionales al juzgar la dirección de la tendencia mediante el cruce de indicadores de dinámica rápida y lenta, y al usar indicadores simples para capturar cambios en la tendencia del mercado, adecuados para rastrear tendencias visibles dentro o entre días. Al mismo tiempo, la estrategia también presenta un cierto riesgo de atraso, que requiere un control del riesgo en combinación con paros y otros indicadores, y una optimización para variedades y parámetros, lo que permite obtener un rendimiento más estable.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 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/
// © QuantCT

//@version=4
strategy("Momentum Strategy Idea",
         shorttitle="Momentum", 
         overlay=false,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)

// ____ Inputs

fast_period = input(title="Fast Period", defval=5) 
slow_period = input(title="Slow Period", defval=10)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

mom_fast = mom(close, fast_period)
mom_slow = mom(close, slow_period)
    
enter_long = (mom_slow > 0 and mom_fast > 0)
exit_long = (mom_slow < 0 or mom_fast < 0)
enter_short = (mom_slow < 0 and mom_fast < 0)
exit_short = (mom_slow > 0 or mom_fast > 0)

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 
   
// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)
    
// ____ Plots

colors = 
 enter_long ? #27D600 :
 enter_short ? #E30202 :
 color.orange

mom_fast_plot = plot(mom_fast, color=colors)
mom_slow_plot = plot(mom_slow, color=colors)
fill(mom_fast_plot, mom_slow_plot, color=colors, transp=50)