Estratégia de inversão de média móvel dupla

Autora:ChaoZhang, Data: 26 de setembro de 2023
Tags:

Resumo

A estratégia de reversão de média móvel dupla é uma estratégia de negociação que combina a reversão média e os princípios da média móvel. Primeiro gera sinais de negociação de reversão usando a metodologia de reversão 123, e depois filtra os sinais com médias móveis exponenciais de 2/20, apenas fazendo negociações quando os sinais de ambos coincidem para melhorar a robustez.

Estratégia lógica

A estratégia consiste em duas partes:

  1. 123 Estratégia de reversão

A estratégia de reversão 123 tem origem no livro How I Triple My Money in the Futures Market. Baseia-se na idéia de que se o preço de fechamento cair de um nível alto para baixo em 2 dias, e o estocástico lento de 9 dias estiver abaixo de 50, ele sinaliza um ponto de reversão para ir longo.

  1. 2/20 Estratégia de média móvel exponencial

Esta estratégia usa a 2/20 EMA para determinar a tendência de longo prazo. Quando o preço está acima da linha 2/20 EMA, ele sinaliza uma tendência de alta. Quando o preço está abaixo da linha 2/20 EMA, ele sinaliza uma tendência de queda. Isso filtra falhas.

A estratégia só gera sinais de negociação quando o sinal de reversão 123 se alinha com o sinal EMA 2/20.

Análise das vantagens

Esta estratégia tem as seguintes vantagens, combinando reversões a curto prazo e tendências a longo prazo:

  1. Captura oportunidades de lucro elevadas de reversões de curto prazo

Os 123 objectivos de reversão visam cenários de sobrecompra e sobrevenda em que ocorrem frequentemente oscilações significativas de preços, permitindo objetivos de lucro mais elevados.

  1. 2/20 Filtro EMA evita riscos falsos de ruptura

As estratégias de reversão puras são suscetíveis a tendências de mercado.

  1. Condições duplas melhoram o perfil de risco-recompensa

A combinação de dois indicadores complementares melhora significativamente a fiabilidade e os resultados de risco-recompensa.

  1. Lógica clara torna a otimização intuitiva

A funcionalidade clara de cada componente torna a lógica intuitiva para entender, otimizar e adaptar-se aos ambientes de mercado em mudança.

Análise de riscos

Apesar das vantagens, é necessário considerar alguns riscos:

  1. As reversões podem não se materializar

O desempenho passado não garante resultados futuros. A extensão da reversão real é incerta e pode resultar em perdas.

  1. As tendências podem alargar-se

A EMA 2/20 não pode filtrar completamente os mercados em forte tendência. As correcções de curto prazo ainda podem ser sobrecarregadas pela tendência maior.

  1. A otimização dos parâmetros é crucial

O desempenho é muito sensível às definições dos parâmetros que devem ser robustamente otimizados através de extensos backtesting e ajustados para os mercados em evolução.

  1. Eficácia a longo prazo incerta

Os mercados são altamente estocásticos e os resultados a longo prazo exigem uma validação robusta em diversos ambientes.

Esses riscos podem ser gerenciados através de ajuste de parâmetros, stop losses, controles de risco, etc. Mais condições como volume, indicadores de volatilidade podem melhorar a robustez.

Oportunidades de melhoria

Algumas formas de otimizar ainda mais a estratégia:

  1. Otimizar os parâmetros de inversão

Teste diferentes conjuntos de parâmetros para encontrar padrões de reversão mais estáveis e pronunciados para sinais de maior qualidade.

  1. Otimizar sistemas de médias móveis

Experimentar com diferentes parâmetros de MA ou incorporar várias verificações de MA para uma avaliação mais precisa da tendência.

  1. Adicionar mais filtros

O volume, a volatilidade e outros filtros podem ser incorporados para reduzir os falsos sinais e melhorar a estabilidade.

  1. Implementar otimização dinâmica

As técnicas de aprendizagem de máquina em grandes conjuntos de dados históricos poderiam permitir um ajuste dinâmico e robusto de parâmetros.

  1. Incorporar estratégias de stop loss

Regras inteligentes de stop loss ajudam a controlar o drawdown máximo e a exposição ao risco.

  1. Otimizar a gestão do dinheiro

Um melhor dimensionamento das posições e uma melhor alocação de capital podem melhorar o desempenho global.

Conclusão

A inversão da média móvel dupla é uma estratégia de negociação de curto prazo simples, mas prática. Combinando a reversão média e os conceitos de tendência, visa lucrar com inversões de preços de alta probabilidade, evitando falhas falsas. A lógica clara torna intuitivo de entender, otimizar e aplicar. No entanto, nenhuma estratégia é livre de risco.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/08/2021
// 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 indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// 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


EMA220(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ema(xPrice, Length)
    nHH = max(high, high[1])
    nLL = min(low, low[1])
    nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
    pos :=  iff(close > xXA and close > nXS , 1,
    	     iff(close < xXA and close < nXS, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & 2/20 Exponential MA", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- 2/20 Exponential MA ----")
LengthMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMA220 = EMA220(LengthMA)
pos = iff(posReversal123 == 1 and posEMA220 == 1 , 1,
	   iff(posReversal123 == -1 and posEMA220 == -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.