Esta estratégia utiliza os cruzamentos zero do indicador CCI como sinais de entrada e saída para capturar a direção da tendência.
A lógica central é capturar as cruzamentos zero do CCI como sinais de mudanças de tendência. Quando o CCI passa de zona negativa para zona positiva, ele indica que os preços saíram de sobrevenda e podem iniciar uma tendência de alta. Quando o CCI passa de zona positiva para negativa, ele indica que os preços saíram de sobrecompra e podem iniciar uma tendência de queda. A estratégia entra nas cruzamentos e define uma parada de perda razoável para controlar o risco.
Soluções:
A estratégia pode ser ainda melhorada nos seguintes aspectos:
Otimize o comprimento do parâmetro CCI para encontrar a melhor configuração. Teste diferentes comprimentos e avalie a rentabilidade e a taxa de vitória.
Adicionar outros indicadores como KDJ, MACD para confirmação, evitar sinais falsos CCI. Requer ruptura persistente dos níveis de preços ou sinais concorrentes.
A distância de parada de perda é ajustada dinamicamente com base na volatilidade do mercado. Paradas mais apertadas significam paradas oportunas, mas podem ser muito sensíveis. Paradas mais largas permitem manter tendências, mas aumentam a perda se paradas.
Relaxa as regras de entrada para reduzir as entradas perdidas, começa a escalar à medida que a CCI se aproxima do cruzamento zero, em vez de esperar pelo cruzamento exato.
Adicionar regras de saída da tendência para maximizar os lucros, novas saídas quando a tendência se inverte, como o preço recuar certa porcentagem.
Esta estratégia usa cruzes CCI zero para determinar a direção da tendência e entrar nas cruzes com perda de parada razoável, seguindo efetivamente as tendências.
/*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)