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.
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.
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.
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.
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.
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 )