Estratégia de forte rompimento da CCI


Data de criação: 2023-11-15 16:52:06 última modificação: 2023-11-15 16:52:06
cópia: 0 Cliques: 710
1
focar em
1617
Seguidores

Estratégia de forte rompimento da CCI

Visão geral

A estratégia baseia-se no clássico índice de canais de commodities (CCI), apenas fazendo a multiplicação. Quando o indicador CCI está em níveis extremamente baixos (CCI <-150 ou um limiar definido pelo usuário) e retoma a força (CCI da linha K anterior à CCI), enquanto o próprio limiar de força de preço é filtrado (o preço de fechamento da linha K que emite o sinal deve ser superior a uma certa amplitude do preço de abertura - fixado em 0,25%), o sistema entra no mercado.

A estratégia é usada para obter altas taxas de sucesso (mais de 50%) de negociação, em vez de perseguir o comprimento total da tendência de captura. Portanto, é adequado para os comerciantes que não podem suportar perdas potenciais.

Princípio da estratégia

  1. Utilize as funções ta.sma() e ta.dev() para construir o indicador CCI e suas faixas de intervalos.

  2. Selecione a data de início da negociação com o input e configure a janela de retorno.

  3. Condições de entrada: O CCI atravessa a linha baixa e começa a subir, ao mesmo tempo em que exige que o preço de fechamento da linha K do sinal seja superior a 0,25% do preço de abertura.

  4. Condição de saída 1: CCI na linha de entrada, parada e saída.

  5. Condição de saída 2: ultrapassar a linha de stop loss e sair com prejuízo.

  6. A estratégia é apenas fazer mais, escolher o momento de entrada de acordo com a intensidade do indicador CCI, ao mesmo tempo em que usa o risco de controle de perda.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O CCI pode ser usado para identificar situações de sobrecompra e sobrevenda e aproveitar as oportunidades de reversão.

  2. A única maneira de evitar o risco de uma operação errada é fazer isso em várias direções.

  3. O uso da força de preço para filtrar, assegurando que o preço de entrada tenha sido suportado.

  4. O mecanismo de parada de prejuízos controla os prejuízos individuais e administra os fundos de forma eficaz.

  5. Os parâmetros de detecção são flexíveis e podem ser ajustados nas condições de filtragem de entrada.

  6. A taxa de sucesso é mais alta e é adequada para investidores que se concentram na gestão de fundos.

  7. A estratégia é clara, o código é simples e fácil de entender.

Análise de Riscos

A estratégia também tem riscos:

  1. A tendência é de baixa em linha curta, mas é fácil de perder se você for apenas multidirecional.

  2. Configuração incorreta dos parâmetros CCI pode causar falha.

  3. A configuração de stop loss é muito frouxa e não permite um controle eficaz dos prejuízos.

  4. A maioria dos investidores está muito forte, e o stop-loss foi rompido, causando grandes perdas.

  5. A alta frequência de transações gera pressão sobre os custos das transações.

Correspondentes medidas de gestão de riscos:

  1. Optimizar os parâmetros do CCI para encontrar os melhores valores.

  2. Ajustar a amplitude do stop loss para encontrar um equilíbrio entre o risco e a probabilidade de o stop loss ser ultrapassado.

  3. Os custos de transação são considerados e a frequência de acesso é controlada.

  4. Combinando tendências e discernimento de intervalos, evite negociações unilaterais.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. O uso de stop loss dinâmico para ajustar a distância de stop loss de acordo com a volatilidade do mercado.

  2. Combinado com indicadores como o MACD, evita que o stop loss fique muito relaxado.

  3. Aumentar as oportunidades de venda e considerar a possibilidade de fechamento quando o índice de cici estiver quente.

  4. Considerando os custos da transação, defina a distância mínima de parada.

  5. Os parâmetros de otimização são combinados com a estrutura de tempo da estratégia para encontrar a melhor combinação.

  6. Parâmetros de otimização automática usando métodos de aprendizagem de máquina.

  7. Adicionar módulos de gestão de fundos e ajustar posições de forma dinâmica.

Resumir

Em resumo, a estratégia utiliza a característica de super-compra e super-venda do indicador CCI, fazendo mais quando os preços formam suporte, buscando negociações de alta taxa de ganho através do controle de risco de stop loss. A vantagem da estratégia está na facilidade de operação e no controle de risco. As deficiências existentes estão em apenas fazer mais, parar o prejuízo do que o fixo, etc.

Código-fonte da estratégia
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='CCI High Performance long only', overlay=false )
src = input(close)
length = input.int(20, title='Period', minval=1)
lossp = input.float(8, title='Stop Loss percentage', minval=0.5, step=0.5)
scart = input.float(0.25, title='Close of the signal bar higher than Open %', minval = 0)
upperline = input.int(150, title='Upper Band', minval=0, step=10)
lowline = input.int(-150, title='Low Band', maxval=0, step=10)


// construction of CCI (not on close but in totalprice) and of bands
ma = ta.sma(src, length)
cci = (src - ma) / (0.015 * ta.dev(src, length))
plot(cci, 'CCI', color=color.new(#996A15, 0))
band1 = hline(upperline, 'Upper Band', color=#C0C0C0, linestyle=hline.style_dashed)
band0 = hline(lowline, 'Lower Band', color=#C0C0C0, linestyle=hline.style_dashed)
fill(band1, band0, color=color.new(#9C6E1B, 90), title='Background')
// === INPUT BACKTEST RANGE ===
fromMonth = input.int(defval = 1,    title = "From Month",  minval = 1, maxval = 12)
fromDay   = input.int(defval = 1,    title = "From Day",    minval = 1, maxval = 31)
fromYear  = input.int(defval = 2016, title = "From Year",   minval = 1970)
thruMonth = input.int(defval = 1,    title = "Thru Month",  minval = 1, maxval = 12)
thruDay   = input.int(defval = 1,    title = "Thru Day",    minval = 1, maxval = 31)
thruYear  = input.int(defval = 2112, title = "Thru Year",   minval = 1970)
// === FUNCTION EXAMPLE limit for backtest ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)            // backtest start  window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)            // backtest finish window
window()  => time >= start and time <= finish ? true : false           // create function "within window of time"
//ENTRY CONDITIONS

// strategy: enter when CCI is under the low line and starts increasing. The filter is that the signal candle should mark a close higher than a x-percent
// (0.25%) of the open
// Exit when either when it reaches the target of a prices highest than high level of CCI or fixed stop loss (in percentage)
scart_level = open * (1+scart/100)
entryl = cci[1] < lowline[1] and cci > cci[1] and close > scart_level and window()
exit1 = cci> upperline
strategy.entry('Long', strategy.long, when=entryl)
strategy.close('Long', when=exit1, comment='target')

// money management (only stop loss)
losspel = strategy.position_avg_price * (1 - lossp / 100)
fixed_stop_long = close < losspel
strategy.close('Long', when=fixed_stop_long, comment='Stop Loss')