La CCI a une tendance à l'écartement zéro en suivant la stratégie

Auteur:ChaoZhang est là., Date: le 28 septembre 2023 à 16h36
Les étiquettes:

Résumé

Cette stratégie utilise les passages à zéro de l'indicateur CCI comme signaux d'entrée et de sortie pour capturer la direction de la tendance.

La logique de la stratégie

  • Utiliser 20 périodes pour l'indicateur CCI.
  • Lorsque l'indice CCI dépasse 0, passez long avec un stop loss à -100.
  • Lorsque l'indice CCI dépasse 0, passez à la vente à découvert avec un stop loss à 100.
  • Sortez quand la CCI dépasse à nouveau zéro.

La logique de base est de capturer les passages à zéro du CCI comme des signaux de changements de tendance. Lorsque le CCI passe de la zone négative à la zone positive, il indique que les prix sont sortis de la zone de survente et peuvent commencer une tendance haussière. Lorsque le CCI passe de la zone positive à la zone négative, il indique que les prix sont sortis de la zone de surachat et peuvent commencer une tendance baissière. La stratégie entre sur les passages et définit un stop-loss raisonnable pour contrôler le risque.

Analyse des avantages

  • L'utilisation de points zéro du CCI pour déterminer la direction de la tendance est une application classique de l'indicateur.
  • Une longueur CCI appropriée filtre le bruit et capte les points de changement de tendance majeurs.
  • Une seule entrée par tendance, avec des arrêts, réduit le sur-trading, concentre les fonds pour de gros gains.
  • Les paramètres CCI et la distance d'arrêt sont optimisés pour une meilleure universalité.

Analyse des risques

  • La CCI peut donner de faux signaux de passage, provoquant des pertes inutiles.
  • La distance d'arrêt de perte incorrecte peut être trop large ou trop étroite.
  • Une mauvaise longueur de l'ICC peut filtrer les opportunités utiles de courte durée.
  • Il existe un risque de décalage dans le temps, le CCI pouvant être en retard par rapport à la formation de la tendance réelle, ce qui entraînerait une entrée tardive.

Les solutions:

  • Ajoutez d'autres indicateurs de confirmation, évitez les faux passages CCI.
  • Ajustez dynamiquement la distance d'arrêt.
  • Optimiser la longueur de la CCI afin de détecter les tendances à travers les délais.
  • Réduisez les règles d'entrée, n'exigez pas strictement les passages à zéro CCI.

Directions d'optimisation

La stratégie peut être encore optimisée dans les aspects suivants:

  1. Optimisez la longueur du paramètre CCI pour trouver le meilleur réglage. Testez différentes longueurs et évaluez la rentabilité et le taux de victoire.

  2. Ajouter d'autres indicateurs comme KDJ, MACD pour la confirmation, éviter les faux signaux CCI.

  3. Des arrêts plus serrés signifient des arrêts opportuns mais peuvent être trop sensibles. Des arrêts plus larges permettent de maintenir les tendances mais augmentent la perte si elles sont arrêtées.

  4. Décaler les règles d'entrée pour réduire les entrées manquées.

  5. Ajoutez des règles de sortie de tendance pour maximiser les profits.

Conclusion

Cette stratégie utilise des croisements zéro CCI pour déterminer la direction de la tendance et entrer sur les croisements avec un stop loss raisonnable, suivant efficacement les tendances.


/*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)

Plus de