Estratégia de negociação de reversão de indicadores duplos

Autora:ChaoZhang, Data: 2023-09-25 17:46:24
Tags:

Resumo

Esta estratégia combina o padrão de reversão 123 com o indicador CCI para criar uma estratégia de negociação de curto prazo de sinais cumulativos.

Estratégia lógica

A principal lógica de negociação envolve:

  1. O padrão 123 identifica reversões. 2 dias consecutivos de reversão do preço de fechamento juntamente com a reversão estocástica dão sinais.

  2. O CCI confirma reversões. O CCI identifica condições de sobrecompra/supervenda. O cruzamento de CCI rápido e lento sugere reversões.

  3. 123 + CCI juntos criam sinais cumulativos mais robustos.

  4. Opção para inverter a direção do sinal.

  5. Os parâmetros do CCI determinam a percepção de sobrecompra/supervenda.

  6. Não há lucro fixo ou stop loss, saídas baseadas em padrões de inversão.

A estratégia combina ação de preços e análise de índices para configurações de negociação de reversão de alta probabilidade.

Vantagens

As principais vantagens são:

  1. A filtragem de indicadores duplos melhora a qualidade do sinal e evita falhas.

  2. 123 padrões são intuitivos e confiáveis para detectar reversões.

  3. O CCI identifica claramente as zonas de sobrecompra/supervenda para as inversões de tempo.

  4. Flexibilidade através da selecção contrária do comércio para a diversificação.

  5. Parâmetros simples tornam-no fácil de usar.

  6. Não é necessário parar de perder ou tirar lucro para reduzir o risco.

  7. Convém instrumentos oscilantes como índices e forex.

  8. Fácil de replicar para iniciantes.

Riscos

Os principais riscos são:

  1. Aumento dos custos decorrente da maior frequência de comércio.

  2. Risco de reversão fracassada, uma vez que os padrões não são infalíveis.

  3. Risco de seleção de instrumentos se aplicado a ativos em tendência.

  4. Risco de otimização de parâmetros que conduz à adaptação da curva.

  5. Perda do risco de tendência e contra-tendência de negociação.

  6. Baixo risco de eficiência, uma vez que as oportunidades de reversão podem ser limitadas.

Os riscos podem ser mitigados através do controlo da frequência, seleção de ativos, backtesting e otimização de parâmetros.

Oportunidades de melhoria

Algumas formas de melhorar a estratégia:

  1. Adicione stop loss e take profit para controlar o risco.

  2. Incorporar filtros de tendência para evitar falhas.

  3. Otimizar os parâmetros para diferentes instrumentos.

  4. Introduzir o dimensionamento da posição com base nas condições.

  5. Estabelecer limites de retirada para evitar perdas sustentadas.

  6. Adicionar aprendizado de máquina para otimização adaptativa.

  7. Refinar para uma maior taxa de ganhos e risco-recompensa.

  8. Negociar com a tendência através da distinção entre os mercados de touros e os mercados de ursos.

Com melhorias contínuas, a estratégia pode tornar-se um sistema de negociação estável a curto prazo.

Conclusão

Esta estratégia combina o padrão 123 e o indicador CCI para identificar oportunidades de reversão de preço de alta probabilidade usando confirmação dupla. Ele oferece sinais de qualidade, flexibilidade de uso e facilidade de adoção. Mas os parâmetros e a seleção de ativos precisam de otimização junto com a frequência de negociação e controle de perdas. Com refinamentos contínuos, pode evoluir para uma estratégia de reversão de preço eficiente a curto prazo.


/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-24 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 11/07/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Commodity Channel Index (CCI) is best used with markets that display cyclical or 
// seasonal characteristics, and is formulated to detect the beginning and ending of these 
// cycles by incorporating a moving average together with a divisor that reflects both possible 
// and actual trading ranges. The final index measures the deviation from normal, which indicates 
// major changes in market trend.
// To put it simply, the Commodity Channel Index (CCI) value shows how the instrument is trading 
// relative to its mean (average) price. When the CCI value is high, it means that the prices are 
// high compared to the average price; when the CCI value is down, it means that the prices are low 
// compared to the average price. The CCI value usually does not fall outside the -300 to 300 range 
// and, in fact, is usually in the -100 to 100 range.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

CCI(FastMA, SlowMA) =>
    pos = 0
    xCCI = cci(close, 10)
    xSMA = sma(xCCI,SlowMA)
    xFMA = sma(xCCI,FastMA)
    pos := iff(xSMA < xFMA , 1,
	         iff(xSMA > xFMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & CCI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
FastMA = input(10, minval=1)
SlowMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCCI = CCI(FastMA, SlowMA)
pos = iff(posReversal123 == 1 and posCCI == 1 , 1,
	   iff(posReversal123 == -1 and posCCI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Mais.