Estrategia de agotamiento del impulso

El autor:¿ Qué pasa?, Fecha: 2023-11-16 17:54:00
Las etiquetas:

img

Resumen general

La Estrategia de Agotamiento de Momentum es una estrategia de seguimiento de tendencias que utiliza promedios móviles y osciladores de porcentaje de precios para minimizar la exposición a la baja.

Estrategia lógica

Los indicadores centrales de esta estrategia son el Agotamiento y el Agotamiento promedio móvil. El Agotamiento es una medida de la oscilación de precios, calculada a partir de precios cerrados, altos y bajos. El cálculo específico es: (cerca + alto + bajo promedio móvil de Agotamiento) / promedio móvil de Agotamiento. El Agotamiento promedio móvil es el promedio móvil de Agotamiento. Cuando el Agotamiento cruza por encima del Agotamiento promedio móvil, indica la consolidación en el mercado y una posible formación de una nueva tendencia. Cuando el Agotamiento cruza por debajo del Agotamiento promedio móvil, indica una inversión de tendencia y debemos considerar tomar ganancias.

Además, la estrategia también utiliza promedios móviles a largo y corto plazo para ayudar a determinar la tendencia, incluidas las líneas de 300 días, 150 días y 50 días.

Cuando la línea MACD cruza por encima de la línea de señal, indica una señal alcista, y cuando la MACD cruza por debajo de la línea de señal, indica una señal bajista.

La lógica específica de entrada y salida es:

El índice de volatilidad de las operaciones de mercado de valores de mercado de valores de mercado de valores de mercado de valores de mercado de divisas de divisas de divisas de divisas de divisas de divisas de divisas de divisas de divisas de divisas de divisas de divisas.

Las pérdidas de parada a corto plazo: cruce de agotamiento por debajo de la media móvil de agotamiento; o cruce del MACD por debajo de la línea de señal.

En el caso de los instrumentos financieros de tipo de interés, se aplicará el método de cálculo de las pérdidas de tipo de interés.

Ventajas de la estrategia

Esta estrategia combina múltiples indicadores para determinar el agotamiento de la tendencia y controlar los riesgos.

  1. El indicador de agotamiento puede identificar eficazmente la consolidación y la reversión.

  2. El uso de promedios móviles de múltiples marcos de tiempo para determinar la tendencia evita ser engañado por el ruido del mercado a corto plazo.

  3. El MACD ayuda a confirmar las señales de compra y venta, mejorando el rendimiento de la estrategia.

  4. El RSI desempeña su papel de comprar bajo y vender alto, comprando en situaciones extremadamente sobrevendidas.

  5. La estrategia clara de toma de ganancias y stop loss puede controlar eficazmente el riesgo de cada operación.

Riesgos de la estrategia

También hay algunos riesgos con esta estrategia:

  1. Confiando en múltiples indicadores, la configuración inadecuada de parámetros puede conducir a señales comerciales incorrectas.

  2. El indicador de agotamiento no es del todo fiable y puede fallar cuando hay una divergencia de precios.

  3. La colocación incorrecta de un stop loss puede resultar en una suspensión por fluctuaciones a corto plazo.

  4. Cuando el mercado global está en un rango, los indicadores pueden fallar.

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Prueba diferentes combinaciones de parámetros para encontrar los parámetros óptimos y reducir las señales falsas.

  2. Incorporar indicadores de volatilidad como ATR para ajustar dinámicamente el intervalo de stop loss de acuerdo con la volatilidad del mercado.

  3. Optimizar el dimensionamiento de las posiciones, con diferentes reglas de dimensionamiento de las posiciones para diferentes condiciones de mercado.

  4. Incorpore patrones de gráficos como líneas de tendencia, líneas de soporte para mejorar el rendimiento de la estrategia.

  5. Añadir algoritmos de aprendizaje automático para ayudar a medir la efectividad de los indicadores clave, logrando la optimización dinámica.

Conclusión

La Estrategia de Agotamiento de Momentum combina múltiples indicadores para identificar la inversión de tendencia y los riesgos de control. Tiene la capacidad de seguir la tendencia y puede determinar eficazmente los puntos de entrada y salida. Se pueden hacer mejoras adicionales a través de la optimización de parámetros, reglas de stop loss, incorporación de patrones de gráficos y más. En general, tiene adaptabilidad a las fluctuaciones del mercado y puede considerarse como una opción de estrategia de control de riesgos.


/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
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/
// © spiritualhealer117

//@version=4

strategy("Infiten Slope Strategy", overlay=false,calc_on_every_tick = true, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)
// //TIME RESTRICT FOR BACKTESTING {
// inDateRange = (time >= timestamp(syminfo.timezone, 2003,
//          1, 1, 0, 0)) and
//      (time < timestamp(syminfo.timezone, 2021, 5, 25, 0, 0))
// //}

//OPTIMAL PARAMETERS {
daysback = 30
volumesens = 1.618
//}
//Calculating Exhaustion and Exhaustion Moving Average {
clh = close+low+high
exhaustion = (clh-sma(clh,daysback))/sma(clh,daysback)
exhaustionSma = sma(exhaustion,daysback)
//}
//Long Term Moving Averages for sell signals {
red = sma(close,300)
white = sma(close,150)
blue = sma(close,50)

plot(red,color=color.red)
plot(white,color=color.white)
plot(blue,color=color.blue)
//}
//MACD Calculation {
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false)
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
//}
//SIGMOID Bottom {
timeAdjust = 300/sma(close,500)
//}
//RSI bottom {
len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(close), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//}

//Entry and exit conditions {
//Sell conditions
bigVolume = sma(volume,30)*volumesens
sellcond1 = crossunder(exhaustion,exhaustionSma) and volume > bigVolume
sellcond2 = crossunder(macd,signal) and volume > bigVolume
midtermsellcond1 = crossunder(blue,white)
longtermsellcond1 = white < red

//Buy conditions
buycond = crossover(exhaustion,exhaustionSma) and not longtermsellcond1
buycond2 = rsi < 30
buycond3 = crossover(blue,white) and longtermsellcond1
//}

//Backtest Run Buy/Sell Commands {
strategy.entry("buycond",true, when=buycond and bigVolume)
strategy.entry("buycond2",true, when=buycond2 and bigVolume)

strategy.close_all(when=sellcond1,comment="short term sell signal 1")
strategy.close_all(when=midtermsellcond1, comment="mid term sell signal 1")
strategy.close_all(when=longtermsellcond1, comment="long term sell signal 1")
strategy.close_all(when=sellcond2, comment="short term sell signal 2")
plot(strategy.position_size)

//Sell on last tested day (only for data collection)
//strategy.close_all(when=not inDateRange)
//}



Más.