Tendencia de cruce cero del CCI siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2023-09-28 16:00:36
Las etiquetas:

Resumen general

Esta estrategia utiliza los cruces cero del indicador CCI como señales de entrada y salida para capturar la dirección de la tendencia.

Estrategia lógica

  • Se utilizarán 20 períodos para el indicador CCI.
  • Cuando el CCI cruce por encima de 0, se realiza un largo plazo con stop loss a -100.
  • Cuando el CCI se cruza por debajo de 0, se corta con stop loss a 100.
  • Salga cuando CCI cruce cero de nuevo.

La lógica central es capturar los cruces cero del CCI como señales de cambios de tendencia. Cuando el CCI pasa de la zona negativa a la positiva, indica que los precios han salido de la zona de sobreventa y pueden iniciar una tendencia alcista. Cuando el CCI pasa de la zona positiva a la negativa, indica que los precios han salido de la zona de sobrecompra y pueden iniciar una tendencia bajista. La estrategia entra en los cruces y establece un stop loss razonable para controlar el riesgo.

Análisis de ventajas

  • El uso de los cruces cero del CCI para determinar la dirección de la tendencia es una aplicación clásica del indicador.
  • Una longitud de CCI adecuada filtra el ruido y detecta los principales puntos de cambio de tendencia.
  • Sólo una entrada por tendencia, con paradas, reduce el exceso de operaciones, concentra fondos para grandes ganancias.
  • Los parámetros CCI y la distancia de parada se optimizan para una mejor universalidad.

Análisis de riesgos

  • El CCI puede dar señales falsas de cruce, causando pérdidas innecesarias.
  • La distancia de pérdida de parada incorrecta puede ser demasiado amplia o demasiado estrecha.
  • La longitud incorrecta de la CCI puede filtrar oportunidades útiles de período más corto.
  • Existe el riesgo de retraso en el tiempo, ya que el CCI puede retrasarse en la formación de la tendencia real, lo que puede provocar una entrada tardía.

Soluciones:

  • Añadir otros indicadores de confirmación, evitar cruces falsos de la CCI.
  • Ajuste dinámico de la distancia de parada.
  • Optimizar la longitud del CCI para captar las tendencias en los marcos de tiempo.
  • Relajar las reglas de entrada, no requieren estrictamente cruces CCI cero.

Direcciones de optimización

La estrategia se puede optimizar aún más en los siguientes aspectos:

  1. Optimice la longitud del parámetro CCI para encontrar la mejor configuración. Pruebe diferentes longitudes y evalúe la rentabilidad y la tasa de ganancia.

  2. Añadir otros indicadores como KDJ, MACD para la confirmación, evitar señales falsas CCI. Requiere una ruptura persistente de los niveles de precios o señales concurrentes.

  3. Ajusta dinámicamente la distancia de stop loss basado en la volatilidad del mercado. Paradas más ajustadas significan paradas oportunas pero pueden ser demasiado sensibles. Paradas más amplias permiten mantener tendencias pero aumentan la pérdida si se detienen.

  4. Comience a escalar cuando CCI se acerque al cruce cero, en lugar de esperar el cruce exacto.

  5. Añadir reglas de salida de tendencia para maximizar las ganancias, nuevas salidas cuando la tendencia se invierte, como el precio retrocede un cierto porcentaje.

Conclusión

Esta estrategia utiliza cruces CCI cero para determinar la dirección de la tendencia y entrar en los cruces con una pérdida de parada razonable, siguiendo efectivamente las tendencias.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("CCI Level Zero Strategy (by Marcoweb) v1.0", shorttitle="CCI_L_Z_Strat_v1.0", overlay=true)

///////////// CCI
CCIlength = input(20, minval=1, title="CCI Period Length") 
CCIoverSold = -100
CCIoverBought = 100
CCIzeroLine = 0
CCI = cci(hlc3, CCIlength)
price = hlc3
vcci = cci(price, CCIlength)

source = close
buyEntry = crossover(source, CCIzeroLine)
sellEntry = crossunder(source, CCIzeroLine)
plot(CCI, color=black,title="CCI")
p1 = plot(CCIoverSold, color=blue,title="-100")
p2 = plot(CCIoverBought, color=red,title="100")
p3 = plot(CCIzeroLine, color=orange,title="0")


///////////// CCI 0Trend v1.0 Strategy 
if (not na(vcci))

    if (crossover(CCI, CCIzeroLine))
        strategy.entry("CCI_L", strategy.long, stop=CCIoverSold,  comment="CCI_L")
    else
        strategy.cancel(id="CCI_L")
        
    if (crossunder(CCI, CCIzeroLine))
        strategy.entry("CCI_S", strategy.short, stop=CCIoverBought,  comment="CCI_S")
    else
        strategy.cancel(id="CCI_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Más.