Esta estrategia utiliza los cruces cero del indicador CCI como señales de entrada y salida para capturar la dirección de la tendencia.
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.
Soluciones:
La estrategia se puede optimizar aún más en los siguientes aspectos:
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.
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.
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.
Comience a escalar cuando CCI se acerque al cruce cero, en lugar de esperar el cruce exacto.
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.
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)