Estratégia de acompanhamento de tendências com base no indicador CCI


Data de criação: 2023-11-24 10:53:07 última modificação: 2023-11-24 10:53:07
cópia: 0 Cliques: 745
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências com base no indicador CCI

Visão geral

A estratégia é uma estratégia de acompanhamento de tendências baseada no indicador CCI. Ela usa dois indicadores CCI de diferentes períodos para geração de sinais de negociação. Concretamente, ela monitora se um indicador CCI de um período mais curto quebra um indicador CCI de um período mais longo, para decidir sobre ou para baixo de acordo com a direção da quebra.

Princípio da estratégia

A lógica central da estratégia é:

  1. Defina dois indicadores CCI, ci1 para 14 ciclos e ci2 para 56 ciclos
  2. Quando o ci1 ultrapassa o ci2 para cima, faça mais.
  3. Quando ci1 para baixo quebra ci2, faça espaço
  4. Depois de emitir o sinal de negociação, o posicionamento é definido pelo valor de ci1 e ci2

As regras para fazer mais são:

  1. ci1 sobre ci2, ou seja, CCI de curto período sobre CCI de longo período
  2. Condição de parada: ci1 < -50 e taxa de variação < 0 ou ci1 abaixo de -100

As regras de vaga são:

  1. ci1 sob a perforação ci2, ou seja, CCI de curto período sob a perforação de longo período CCI
  2. Condição de parada: ci1>100 e taxa de variação >0 ou ci2 sobre 100

Pode-se ver que a estratégia aproveita a sensibilidade do CCI de curto período e a estabilidade do CCI de longo período para identificar e acompanhar tendências.

Vantagens estratégicas

A estratégia tem as seguintes vantagens:

  1. Aproveite o CCI para identificar tendências
  2. O design CCI duplo filtra algumas transações de ruído
  3. Controlar o risco ao mesmo tempo em que se segue a tendência através de uma combinação de indicadores CCI de longo e curto período
  4. Regras de estratégia simples, claras, fáceis de entender e implementar
  5. Forte configurabilidade, com ciclos CCI e condições de stop loss personalizáveis

Risco estratégico

A estratégia também apresenta alguns riscos:

  1. Índice de CCI com fraca capacidade de reconhecimento de trades horizontais e oscilantes
  2. CCI de longo e curto período pode desviar, causando erros de sinais de negociação
  3. A configuração inadequada das condições de parada de prejuízos pode causar grandes perdas.
  4. A configuração inadequada dos parâmetros também pode ter um grande impacto nos lucros da estratégia.

A solução para o risco:

  1. Para evitar a negociação em situações de turbulência, pode-se combinar com outros indicadores.
  2. Aumentar as condições de filtragem para evitar falhas de sinais de desvio de CCI em períodos longos
  3. Optimizar e testar diferentes condições de parada
  4. Seleção de combinações de parâmetros apropriadas por meio de feedback e otimização de parâmetros

Direção de otimização da estratégia

A estratégia também pode ser melhorada em outras áreas, como:

  1. Adicionar outros critérios de avaliação para formar um sistema de negociação mais SYSTEM
  2. Teste de diferença de ganhos em diferentes dias da semana e sessões
  3. Combinando métodos de aprendizagem de máquina para encontrar um parâmetro melhor
  4. Parâmetros de ajuste de acordo com as características de diferentes variedades
  5. Optimizar as condições de abertura e paz de posição

Resumir

Esta estratégia é uma estratégia simples de acompanhamento de tendências baseada em breaks de indicadores CCI de longo e curto período. Ela é capaz de identificar e acompanhar a tendência de forma eficaz. Ao mesmo tempo, controla o risco por meio de paradas e outros meios.

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

//@version=3
strategy(title="my work",calc_on_order_fills=true,currency=currency.USD, default_qty_type=strategy.percent_of_equity,commission_type=strategy.commission.percent)


source = close
shortlength=input(14)
longlength=input(56)
aa=input(2)
Ss=input(75)

//Cci part
ci1=cci(source,shortlength)   //4시간봉의 기본 cci
ci2=cci(source,longlength)   //4시간봉에서 12시봉의 cci 무빙측정

//오린간 선생님의 WT + ichimoku
len = input(10)
lenTurn = input(9)
lenStd = input(26)

wtm_e(so, l) =>
    esa = ema(so, l)
    d = ema(abs(so - esa), l)
    ci = (so - esa) / (0.015 * d)
    ema(ci, l*2+1)

alh(len) => avg(lowest(len), highest(len))
alh_src(src, len) => avg(lowest(src, len), highest(src, len))

wt = wtm_e(close,len)
turn = alh_src(wt, lenTurn)
std = alh_src(wt, lenStd)

cnt = 0
if wt > turn
    cnt:=cnt+1
if wt > std
    cnt:=cnt+1


//100,-100선
h0 = hline(100)
h1 = hline(-100)

//plot(ci,color=green)
// plot(k,color=green)
// plot(d,color=red)
plot(ci1,color=green)
plot(ci2,color=red)

plot(0,color=black)
plot(100,color=black)
plot(-100,color=black)

fill(h0,h1,color=purple,transp=95)

bgcolor(cnt==0 ? red : cnt==1 ? blue : cnt == 2 ? green : na, transp = Ss)

//기간조정

Fromday = input(defval=1, title="from day", minval=1, maxval=31)
FromMonth = input(defval=1, title="from month", minval=1, maxval=12)
FromYr = input(defval=2019, title="from yr", minval=1970)

Today = input(defval=13, title="to day", minval=1, maxval=31)
ToMonth = input(defval=12, title="to month", minval=1, maxval=12)
ToYr = input(defval=2019, title="to yr", minval=1970)

startDate = timestamp(FromYr, FromMonth, Fromday, 00, 00)
finishDate = timestamp(ToYr, ToMonth, Today, 00, 00)
Time_cond = true


/////롱

if  crossover(ci1,ci2) and change(ci2)>0 and Time_cond
    strategy.entry("go", strategy.long, comment="go")
    
strategy.close("go", (ci2<0 and ci1 <-50 and change(ci1)<0) or (crossunder(ci1,-100) and strategy.openprofit<0) and change(cnt)<0)



/////숏

if  (crossunder(ci1,ci2) and change(ci2)<0 and falling(ci1,aa)) and Time_cond
    strategy.entry("die", strategy.short, comment="die")
    
strategy.close("die", (ci2>0 and ci1 > 100 and change(ci1)>0) or (crossover(ci2,100) and strategy.openprofit<0) and change(cnt)>0)