
Descripción general
La estrategia es un sistema de comercio cuantitativo avanzado que combina el oscilador de la dinámica de Chande (CMO) y las bandas de Bollinger (Bollinger Bands). Identifica el estado de sobrecompra y sobreventa del mercado mediante el análisis de la volatilidad de los precios y los indicadores de dinámica, lo que genera una señal de comercio precisa. La estrategia utiliza el mecanismo de doble verificación de la inversión de la dinámica y la ruptura del canal de precios, lo que mejora la fiabilidad de las operaciones.
Principio de estrategia
La lógica central de la estrategia se basa en los siguientes componentes clave:
- Sistema de la cinta de Brinn: utiliza una media móvil de 20 ciclos como trayectoria media, con un factor de diferencia estándar de 2.0, para formar una trayectoria ascendente y descendente. Esta configuración permite capturar eficazmente el rango de fluctuación de los precios y la dirección de la ruptura.
- Sistema de indicadores de CMO: con una configuración de 14 ciclos, el umbral de sobreventa es de 50 y el umbral de sobreventa es de 50. El indicador mide el contraste de fuerzas del mercado calculando el diferencial entre el aumento y la disminución de la dinámica.
- Mecanismo de generación de señales de negociación:
- Hacer más condiciones: Bajar los precios, atravesar la banda de Brin y el CMO está por debajo del umbral de sobreventa
- Condiciones de vacío: Precio por encima de la banda de Brin y CMO por encima del umbral de sobrecompra
- Mecanismo de posición plana: el precio atraviesa la banda de Brin en el centro de la vía o el indicador de movimiento alcanza el extremo opuesto
Ventajas estratégicas
- Confirmación multidimensional: reduce significativamente el riesgo de falsas brechas mediante la doble verificación de precios y dinámicas.
- Adaptabilidad: Brinbelt puede ajustar automáticamente los rangos de negociación según la volatilidad del mercado para adaptarse a diferentes entornos de mercado.
- Control de riesgos perfeccionado: El uso de la banda central de Brin como referencia de pérdidas, proporciona un estándar de control de riesgos objetivo.
- Parámetros ajustables: Permite a los operadores ajustar los parámetros de la banda de Brin y CMO según las diferentes características del mercado, optimizando el rendimiento de la estrategia.
Riesgo estratégico
- Riesgo de movimiento de la bolsa: Falso signo frecuente que puede producirse en los mercados de ordenamiento horizontal.
Recomendaciones para contrarrestar: Aumentar las condiciones de filtración, como exigir que el precio alcance un determinado umbral.
- Riesgo de reversión de la tendencia: las señales de reversión en una tendencia fuerte pueden provocar una salida prematura.
Recomendaciones para contrarrestar: Combine los indicadores de tendencia y negocie solo en la dirección de la tendencia principal.
- Sensibilidad de los parámetros: los diferentes ajustes de los parámetros pueden causar grandes diferencias en el rendimiento de la estrategia.
Recomendaciones: Optimización de la combinación de parámetros a través de la retroalimentación de datos históricos.
Dirección de optimización de la estrategia
- Ajuste de parámetros dinámicos: Se introdujo un mecanismo de adaptación para ajustar dinámicamente el diferencial estándar de la banda de Bryn en función de la volatilidad del mercado.
- Clasificación de la intensidad de la señal: Establecer un sistema de puntuación de la señal, ajustando la proporción de la posición según la intensidad de la ruptura y el nivel de potencia.
- Clasificación de entornos de mercado: agregar módulos de identificación de entornos de mercado para usar diferentes combinaciones de parámetros en diferentes estados de mercado.
- Optimización de las paradas: desarrollo de mecanismos de paradas dinámicas basadas en la volatilidad para mejorar la rentabilidad de la estrategia.
Resumir
La estrategia construye un sistema de transacciones completo a través de la sinergia de Brinbelt y CMO. La estrategia mejora la confiabilidad de las transacciones a través de un mecanismo de confirmación múltiple, al tiempo que mantiene la objetividad operativa. La estrategia muestra una buena utilidad y escalabilidad a través de una configuración razonable de parámetros y control de riesgos.
Código Fuente de la Estrategia
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Chande Momentum Oscillator + Bollinger Bands Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Bollinger Bands Parameters
bbLength = input.int(20, title="Bollinger Bands Length")
bbStdDev = input.float(2.0, title="Bollinger Bands Std Dev")
basis = ta.sma(close, bbLength)
upper = basis + bbStdDev * ta.stdev(close, bbLength)
lower = basis - bbStdDev * ta.stdev(close, bbLength)
// Chande Momentum Oscillator Parameters
cmoLength = input.int(14, title="CMO Length")
cmoOverbought = input.float(50, title="CMO Overbought Level")
cmoOversold = input.float(-50, title="CMO Oversold Level")
cmo = ta.cmo(close, cmoLength)
// Plot Bollinger Bands
plot(basis, color=color.orange, title="Bollinger Basis")
p1 = plot(upper, color=color.blue, title="Bollinger Upper")
p2 = plot(lower, color=color.blue, title="Bollinger Lower")
fill(p1, p2, color=color.blue, transp=90, title="Bollinger Fill")
// Plot CMO
hline(cmoOverbought, "Overbought", color=color.red)
hline(cmoOversold, "Oversold", color=color.green)
plot(cmo, color=color.purple, title="CMO")
// Buy Condition: Price crosses below lower Bollinger Band and CMO is oversold
longCondition = ta.crossunder(close, lower) and cmo < cmoOversold
if (longCondition)
strategy.entry("Long", strategy.long)
// Sell Condition: Price crosses above upper Bollinger Band and CMO is overbought
shortCondition = ta.crossover(close, upper) and cmo > cmoOverbought
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit Long: Price crosses above basis or CMO is overbought
exitLong = ta.crossover(close, basis) or cmo > cmoOverbought
if (exitLong)
strategy.close("Long")
// Exit Short: Price crosses below basis or CMO is oversold
exitShort = ta.crossunder(close, basis) or cmo < cmoOversold
if (exitShort)
strategy.close("Short")