En la carga de los recursos... Cargando...

Estrategia para el avance de la rigidez

El autor:¿ Qué pasa?, fecha: 2024-01-03 11:34:34
Las etiquetas:

img

Resumen general

La estrategia de ruptura de rigidez es una estrategia de ruptura basada en el indicador de rigidez de precios. Calcula el número de veces que el precio de cierre rompe el carril superior durante un cierto período para determinar la rigidez del precio. Cuando el indicador de rigidez excede el umbral establecido, se juzga que el mercado está a punto de romper y se realiza una orden de compra. Cuando el indicador de rigidez está por debajo del umbral, se juzga que el mercado está a punto de retroceder y se realiza una orden de venta.

Principio de la estrategia

  1. Calcular la media móvil y la desviación estándar: Calcular la media móvil simple de n períodos como el carril superior de referencia y 0,2 veces la desviación estándar del precio como el carril inferior de amortiguador.

  2. Cálcule el indicador de rigidez: Cuente el número de días en que el precio de cierre es mayor que el rieles superior en m ciclos, divida por m para obtener un valor entre 0-100, y luego suavizarlo con una EMA de n períodos para obtener el valor de rigidez final, que representa la probabilidad de que el precio de cierre rompa el rieles superior.

  3. Compare rigidez y umbral: Cuando el indicador de rigidez cruza por encima del umbral establecido, significa que la probabilidad de un avance aumenta y se genera una señal de compra.

  4. Entrada y salida: Comprar cuando el precio de cierre rompe el rieles superior, y vender cuando el avance falla y comienza la caída.

Análisis de ventajas

  1. Captura el momento de las rupturas: juzgue con relativa fiabilidad cuándo una tendencia está a punto de romperse o retroceder, para entrar al mercado con anticipación.

  2. Tenga en cuenta las rupturas y los retrocesos: la estrategia captura oportunidades largas y cortas mediante la utilización de rupturas y caídas del indicador de rigidez.

  3. Parámetros flexibles: los usuarios pueden ajustar parámetros como la longitud media móvil, el ciclo de rigidez, el umbral, etc. de acuerdo con el mercado para adaptarse a las características de los diferentes ciclos y mercados.

  4. Sencilla de implementar: sólo se utiliza el indicador de rigidez y la comparación de umbrales sin lógica compleja, la implementación del código es bastante simple.

Análisis de riesgos

  1. Riesgo de ruptura fallida: cuando la rigidez excede el umbral, no se puede garantizar plenamente que los precios rompan la barrera superior, con cierto riesgo de rupturas falsas.

  2. Riesgo de retroceso: cuando se realiza un corto, no se puede predecir el rango específico y la ubicación de los retrocesos, con el riesgo de perder demasiado.

  3. Riesgo de optimización de parámetros: los parámetros de referencia no pueden adaptarse plenamente a los cambios del mercado y deben probarse y optimizarse continuamente según las condiciones reales.

  4. Riesgo de negociación frecuente: La frecuencia de negociación relativamente alta de esta estrategia aumenta la pérdida por costos de negociación y deslizamiento.

Direcciones de optimización

  1. Optimización de parámetros: prueba la configuración de parámetros en diferentes mercados para encontrar la combinación óptima de parámetros. Por ejemplo, aumenta la longitud de la media móvil para reducir la frecuencia de negociación.

  2. Añadir stop loss: establecer una lógica de stop loss razonable para controlar una sola pérdida.

  3. Incorporar otros indicadores: se pueden añadir indicadores como el MACD y el KD para determinar puntos de entrada específicos y reducir la probabilidad de falsos breakouts.

  4. Optimizar las condiciones de salida: los indicadores de tendencia pueden utilizarse para determinar las características de las inversiones de tendencia y establecer condiciones de salida más precisas.

Resumen de las actividades

En general, la Estrategia de Ruptura de Rigidez es bastante simple y práctica. Puede predecir posibles rupturas de precios y retrocesos de antemano, con cierto valor práctico. Pero también debemos prestar atención a los problemas de rupturas falsas y rango de retroceso, y capturar oportunidades comerciales más precisas a través de la optimización de parámetros y la adición de otros indicadores técnicos.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Copyright (c) 2020-present, JMOZ (1337.ltd)
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Stiffness Indicator script may be freely distributed under the MIT license.
strategy("Stiffness Strategy", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.075)


maLength = input(title="Moving Average Length", minval=1, defval=100)
stiffLength = input(title="Stiffness Length", minval=1, defval=60)
stiffSmooth = input(title="Stiffness Smoothing Length", minval=1, defval=3)
threshold = input(title="Threshold", minval=1, defval=90)
highlightThresholdCrossovers = input(title="Highlight Threshold Crossovers ?", type=input.bool, defval=false)


bound = sma(close, maLength) - 0.2 * stdev(close, maLength)
sumAbove = sum(close > bound ? 1 : 0, stiffLength)
stiffness = ema(sumAbove * 100 / stiffLength, stiffSmooth)


long_cond = crossover(stiffness, threshold)
long_close = stiffness > threshold and falling(stiffness, 1)
short_cond = crossunder(stiffness, threshold) or stiffness < threshold and falling(stiffness, 1)
short_close = stiffness < threshold and rising(stiffness, 1)


strategy.entry("Long", strategy.long, when=long_cond)
strategy.close("Long", when=long_close)
strategy.entry("Short", strategy.short, when=short_cond)
strategy.close("Short", when=short_close)


transparent = color.new(color.white, 100)

bgColor = highlightThresholdCrossovers ? stiffness > threshold ? #0ebb23 : color.red : transparent
bgcolor(bgColor, transp=90)

plot(stiffness, title="Stiffness", style=plot.style_histogram, color=#f5c75e, transp=0)
plot(threshold, title="Threshold", color=color.red, transp=0)


Más.