Estratégia de reversão do CCI de 4 horas


Data de criação: 2023-10-13 15:29:05 última modificação: 2023-10-13 15:29:05
cópia: 2 Cliques: 929
1
focar em
1617
Seguidores

Visão geral

Esta estratégia é uma estratégia de negociação de reversão baseada no indicador CCI. Ela realiza uma negociação de reversão quando o indicador CCI aparece em uma zona de sobrevenda e sobrevenda.

Princípio da estratégia

Em primeiro lugar, a estratégia é baseada no índice CCI, cuja fórmula de cálculo é:

CCI = (Preço Típico - Média Móvel Simples) / (0.015 * Diferença de Equivalência)

Dentre eles, Preço típico = (preço máximo + preço mínimo + preço de fechamento) / 3 Média móvel simples = Média móvel do preço típico dos últimos N dias Divergência média = média do quadrado da soma do diferencial de preços típicos nos últimos N dias

A estratégia usa um indicador CCI de 11 anos de comprimento e define -150 como uma zona de venda excessiva e -150 como uma zona de compra excessiva.

Quando cada linha K é fechada, o indicador CCI de comprimento 11 é detectado. Se o CCI passar abaixo de 150, um sinal de mais é emitido; Se o CCI passar acima de 150, um sinal de vazio é emitido.

Depois de receber o sinal, abrir a posição com o preço de mercado e definir um stop loss de 1% e um stop loss de 0,5%.

Vantagens estratégicas

  1. O indicador CCI é usado para capturar oportunidades de reversão de preços.
  2. Parâmetros CCI ajustáveis para testar os melhores
  3. O risco é controlado com um stop loss de proporção fixa.
  4. A lógica da estratégia é simples, clara e fácil de entender.

Riscos e soluções

  1. Os indicadores CCI podem gerar uma grande quantidade de falsos sinais e os sinais que entram no mercado não são necessariamente confiáveis
  • Solução: Optimizar os parâmetros do CCI em combinação com filtragem de outros indicadores
  1. Proporção de perda de suspensão fixa, os parâmetros de diferentes variedades não são necessariamente razoáveis
  • Solução: Adição de stop loss dinâmico
  1. A estratégia é baseada apenas no CCI, o risco é único e a falha é fácil
  • Solução: combinação de vários indicadores para aumentar a estabilidade
  1. O custo de transação não é um fator determinante para a eficácia do disco rígido
  • Solução: Adição de controle de ponto de deslizamento para reduzir a frequência de transação

Direção de otimização

  1. Optimizar os parâmetros do CCI para encontrar uma combinação de parâmetros mais eficiente
  2. Adicione outros indicadores como MACD, KDJ e outros para filtrar a entrada
  3. Desenvolvimento de mecanismos de stop loss dinâmicos, em vez de simples proporções fixas
  4. Estratégias de otimização que reduzem a frequência de transação para reduzir o impacto nos custos de transação
  5. Optimizar a retrospectiva, encontrar a combinação ideal de parâmetros e preparar-se para a negociação em disco

Resumir

A estratégia de reversão do CCI de 4 horas é uma estratégia simples de usar o indicador CCI para realizar operações de reversão. Ela possui a lógica clara da estratégia e é fácil de implementar. Mas também há a instabilidade do sinal CCI, o stop loss não é suficientemente flexível e outras desvantagens.

Código-fonte da estratégia
/*backtest
start: 2023-09-12 00:00:00
end: 2023-10-12 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("4H CCI Strategy", overlay=true)
length = input( 11 )
overSold = input( -150 )
overBought = input( +150 )
price1 = high
price2 = low
ucci = cci(price1, length)
dcci = cci(price2, length)
vcci = cci(ohlc4, 11)

resCustom = input(title="Timeframe", defval="15")
Length = input(16, minval=1)
xPrice = request.security(syminfo.tickerid, resCustom, hlc3)
xvnoise = abs(xPrice - xPrice[1])
nfastend = 0.666
nslowend = 0.0645
nsignal = abs(xPrice - xPrice[Length])
nnoise = sum(xvnoise, Length)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
nAMA = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
basis1 = nAMA
slope = change(basis1,1)

if (not na(vcci))
    if (crossover(dcci, overSold))
        strategy.entry("CCILE", strategy.long, comment="CCILE")
        strategy.exit("exit", "CCILE", profit = 0.01, loss = 0.005)
    if (crossunder(ucci, overBought))
        strategy.entry("CCISE", strategy.short, comment="CCISE")
        strategy.exit("exit", "CCISE", profit = 0.01, loss = 0.005)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)