Estratégia de negociação de ligeira reversão de indicador duplo

Autora:ChaoZhang, Data: 2023-10-17 15:45:09
Tags:

img

Resumo

A estratégia de negociação de reversão leve de indicador duplo combina indicadores de impulso e de tendência para negociação de curto prazo. A estratégia gera primeiro sinais de negociação usando um indicador de reversão, em seguida, combina-o com um indicador de tendência para produzir sinais mais confiáveis.

Princípio

A estratégia consiste em duas sub-estratégias.

A primeira é a estratégia de reversão 123. Ele monitora se ocorre um padrão de reversão de pico. Especificamente, ele gerará um sinal longo se o preço de fechamento dos dois dias anteriores cair e o preço de fechamento atual for maior do que o preço de fechamento anterior, com a linha lenta estocástica abaixo de 50.

O segundo é o indicador ergódico, que é um indicador de tendência que identifica a direção das tendências de médio a longo prazo.

A estratégia combina os sinais das duas sub-estratégias. Ela só abrirá uma posição quando as duas sub-estratégias gerarem sinais consistentes. Ou seja, ela só negocia quando há uma ligeira reversão de curto prazo junto com uma forte tendência de médio a longo prazo.

Vantagens

  • A combinação de múltiplos indicadores pode filtrar efetivamente os falsos sinais e melhorar a fiabilidade.

  • A combinação de inversão e de tendência proporciona oportunidades a curto prazo e evita operações contrárias à tendência.

  • As configurações dos parâmetros estocásticos são bastante robustas para reduzir os golpes.

  • Os parâmetros de suavização do indicador ergódico são ajustados de forma razoável para identificar melhor as tendências.

  • A frequência de negociação é adequada, capturando oportunidades adequadas sem excesso de negociação.

  • Adequado para negociações de médio prazo com prazos flexíveis.

Riscos

  • Os sinais de inversão podem produzir sinais falsos e necessitam de validação a partir dos indicadores de tendência.

  • A baixa frequência de negociação pode perder algumas oportunidades de curto prazo.

  • O valor da posição em risco deve ser calculado em função do valor da posição em risco.

  • As definições inadequadas dos parâmetros podem afectar significativamente os resultados.

  • Confiar demasiado nos indicadores técnicos corre o risco de ser excessivamente adaptado.

Reforço

  • Teste diferentes configurações de parâmetros para otimizar sub-estratégias.

  • Introduzir mais indicadores para construir modelos multifatores.

  • Aplicar aprendizado de máquina para otimização de parâmetros dinâmicos.

  • Pesquise diferentes métodos de stop loss para controlar os riscos.

  • Estude os custos de oportunidade e ajuste a frequência de negociação da estratégia.

  • Teste a robustez da estratégia em diferentes regimes de mercado.

Conclusão

A estratégia de negociação de reversão leve de indicador duplo tenta capturar oportunidades de reversão de curto prazo em prazos de médio prazo usando combinações de indicadores de reversão e de tendência. Pode efetivamente filtrar sinais falsos e controlar riscos até certo ponto. No entanto, questões como oportunidades de curto prazo perdidas, sensibilidade de parâmetros e riscos de excesso de ajustamento permanecem. A melhoria da estabilidade e da lucratividade pode ser alcançada incorporando mais indicadores, otimizando parâmetros, ajustando a frequência de negociação e testando em todos os mercados.


/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/07/2020
// 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
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to
// read this book. His book focuses on three key aspects of trading: momentum, 
// direction and divergence. Blau, who was an electrical engineer before becoming 
// a trader, thoroughly examines the relationship between price and momentum in 
// step-by-step examples. From this grounding, he then looks at the deficiencies 
// in other oscillators and introduces some innovative techniques, including a 
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies 
// of ADX and offers a unique approach to help define trending and non-trending periods. 
//
// 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


EMDI(r,s,u,SmthLen) =>
    pos = 0
    xEMA = ema(close, r)
    xEMA_S = close - xEMA
    xEMA_U = ema(ema(xEMA_S, s), u)
    xSignal = ema(xEMA_U, u)
    pos := iff(xEMA_U > xSignal, 1,
    	     iff(xEMA_U < xSignal, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic MDI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(32, minval=1)
s = input(5, minval=1)
u = input(5, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMDI = EMDI(r,s,u,SmthLen)
pos = iff(posReversal123 == 1 and posEMDI == 1 , 1,
	   iff(posReversal123 == -1 and posEMDI == -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.