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 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.
Les solutions:
La stratégie peut être encore optimisée dans les aspects suivants:
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.
Ajouter d'autres indicateurs comme KDJ, MACD pour la confirmation, éviter les faux signaux CCI.
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.
Décaler les règles d'entrée pour réduire les entrées manquées.
Ajoutez des règles de sortie de tendance pour maximiser les profits.
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)