Comparação de diferentes tipos de médias móveis durante a negociação

4 dezembro 2017, 09:01
Aleksey Zinovik
0
2 616

Sumário

Introdução

A média móvel (Moving Average, MA) é um dos indicadores técnicos mais populares no mercado Forex. Nosso objetivo é examinar várias MA e compará-las durante a negociação sob as mesmas condições de entrada e de saída do mercado.

Estudaremos sete tipos de médias móveis, a saber: Moving Average, Adaptive Moving Average, Double Exponential Moving Average, Fractal Adaptive Moving Average, Triple Exponential Moving Average, Variable Index Dynamic Average e Nick Rypock Moving Average.

Tipos de médias móveis

Esta seção apresenta uma breve descrição e fórmulas para calcular as médias móveis de nosso interesse.

Indicador técnico Moving Average

Moving Average é uma dos indicadores técnicos mais populares. Ele mostra o preço médio do instrumento para o período definido. Existem algumas versões do indicador MA:

  • Simple Moving Average (SMA) é a média móvel simples;
  • Exponential Moving Average (EMA) é a média móvel exponencial;
  • Smoothed Moving Average (SMMA) é a média móvel suavizada;
  • Linear Weighted Moving Average (LWMA) é a média móvel linear ponderada.

Aqui estão as fórmulas para o cálculo da cada versão do indicador Moving Average:

Versão do indicador Moving Average Fórmula para o cálculo Comentário
Simple Moving Average (SMA) SMA
  • n é o número de períodos unitários (por exemplo, quando n=6 no gráfico com período M15, o cálculo do indicador será realizado para as últimas 1,5 horas)
  • PRICE é o valor atual do preço, nas configurações do indicador é possível selecionar as seguintes opções: high, low, open, close, median price ((high+Low)/2), typical price ((high+Low+Close)/3), weighted close ((high+Low+Close+Close)/4) ou dados do indicador anterior
Exponential Moving Average (EMA) EMA
  • EMA(i-1) é o valor anterior
  • F é o fator de suavização (proporção de uso dos valores dos preços). Coeficiente F é selecionado arbitrariamente na faixa de 0 a 1, por exemplo, F=2/(n+1), onde n é o número de períodos unitários
  • PRICE é o valor atual do preço
Smoothed Moving Average (SMMA) SMMA
  • SMMA(i-1) é o valor anterior
  • n é o número de períodos unitários
  • PRICE é o valor do preço
Linear Weighted Moving Average (LWMA) LWMA
  • PRICE é o valor do preço
  • n é o número de períodos unitários

Examinemos as diferentes versões do indicador Moving Average no gráfico de preços. Na Figura 1 são mostradas as versões do indicador Moving Average com período 12, calculado com base nos preços Close.

Indicador Moving Average

Fig. 1. Versões do indicador Moving Average

Como pode ser visto a partir da figura, Simple Moving Average flutua ligeiramente na fase de correção, e isso pode dar sinais de negociação falsas. Smoothed Moving Average, como o nome indica, parece mais suave. Exponential Moving Average e Linear Weighted Moving Average têm um comportamento semelhante na fase de correção. Durante a tendência, Linear Weighted Moving Average se aproxima mais do preço do que as outras linhas e, ao cotrário do SMMA e EMA, é independente do seu valor anterior.

Indicadores técnicos baseados na média móvel exponencial (EMA)

Média móvel exponencial (EMA) está baseada noutros indicadores técnicos.

Indicador
Descrição
Fórmula de cálculo
Explicação da fórmula

Adaptive Moving Average (AMA)

MA com pouca sensibilidade ao ruído. Em comparação com outras médias móveis, este indicador tem o mínimo de atraso na detecção da reversão e mudança de tendência.
Não dá fortes flutuações durante movimentos bruscos do preço, o que significa que não gera sinais de negociação falsos.
Cálculo do indicador AMA
  • AMA(i-1) é o valor anterior do indicador
  • Price(i) é o valor atual do preço
  • SSC(i) é a constante de suavização

Double Exponential Moving Average

Usado para suavizar os valores de preços ou de outros indicadores. 

A principal vantagem é a ausência de sinais falsos quando o preço se move em ziguezague. Ele contribui para manter a posição durante uma forte tendência e reduzir o atraso do sinal em comparação com o EMA convencional.

Cálculo do indicador DEMA


  • EMA(Price, n, i) é o valor atual do EMA a partir do preço Price com período n
  • EMA2(Price, n, i) = EMA(EMA(Price, n, i), n, i) é um EMA duplo a partir do preço Price com período n

Triple Exponential Moving Average

Síntese do МА exponencial simples, duplo e triplo. O atraso no final é muito menor do que para cada um destes MA individualmente.

O indicador, além de ser usado em vez das médias móveis tradicionais, serve para suavizar gráficos de preços e valores de outros indicadores. 

Cálculo do indicador TEMA
  • EMA(Price, n, i) é o valor atual do EMA a partir do preço Price com período n
  • EMA2(Price, n, i) = EMA(EMA(Price, n, i), n, i) é um EMA duplo a partir do preço Price com período n
  • EMA3(Price, n, i)=EMA(EMA2(Price, n, i), n, i) é um EMA triplo a partir do preço Price com período n

Fractal Adaptive Moving Average

Aqui, o fator de suavização é calculado com base na dimensão fractal atual da série de preços. A vantagem do indicador é que acompanha a tendência forte e desacelera no período de consolidação.

Cálculo do indicador FRAMA

  • Price(i) é o valor atual do preço
  • A(i) é o fator de suavização exponencial atual

Variable Index Dynamic Average

Este é um EMA cujo período de média muda dinamicamente, dependendo da volatilidade do mercado. 

A volatilidade do mercado é medido pelo oscilador Chande Momentum Oscillator (CMO). Ele mede a relação entre os incrementos positivos e negativos durante um determinado período (período do CMO). O valor do OCM serve de coeficiente para o fator de suavização do EMA. Assim, no indicador são definidos dois parâmetros: o período do oscilador CMO e o período de suavização do EMA.

Cálculo do indicador VIDYA
  • F=2/(n+1) é o fator de suavização, n é o número de períodos unitários
  • ABS é a função matemática que estima o valor absoluto da magnitude
  • VIDYA(i-1) é o valor anterior do indicador
  • CMO(i) é o valor do oscilador CMO

Nick Rypock Moving Average

O indicador não está incluído na entrega padrão do terminal de MetaTrader 5. Sua principal qualidade é que praticamente não há flutuação na fase de correção, ele simplesmente acompanha a tendência. 

Cálculo do indicador NRMA

  • NRMA(i-1) é o valor anterior do indicador
  • Price(i) é o valor atual do preço
  • F=2/(n+1) é o fator de suavização, n é o número de períodos unitários

    NRratio é o coeficiente para o fator de suavização

Diferenças dos indicadores em relação ao EMA convencional

Comparemos os indicadores discutido acima com o EMA convencional. A Figura 2 mostra:

  • Adaptive Moving Average (período 12, EMA rápida - 2, EMA lenta - 30, deslocamento - 0)
  • Double Exponential Moving Average (período - 12, deslocamento - 0)
  • Fractal Adaptive Moving Average (período - 12, deslocamento - 0)
  • Exponential Moving Average (período - 12, deslocamento - 0)
  • Triple Exponential Moving Average (período - 12, deslocamento - 0)
  • Variable Index Dynamic Average (período CMO - 12, período EMA - 12, deslocamento - 0)
  • Nick Rypock Moving Average (método de média - SMA, profundidade da suavização - 3, parâmetro de suavização - 15 (não se usa para SMA), Kf - 1, Fast - 12, Sharp - 2, deslocamento horizontal e vertical - 0).

Todos os indicadores são construídos sobre os preços Close.

AMA, DEMA, TEMA, FRAMA, VIDYA, NRMA, EMA

Fig. 2. Comparação de indicadores com base na média móvel exponencial (EMA)

Como pode ser visto na Figura 2, o DEMA e TEMA, em comparação com o EMA convencional, reproduzem mais precisamente o movimento dos preços, mas suas flutuações na fase de correção pode dar sinais de negociação falsos. Outros indicadores (FRAMA, AMA, VIDYA, NRMA) quase não oscilam na fase de correção, não reagem a pequenas mudanças nos preços. Durante a tendência, quase todos os indicadores se comportam da mesma forma, TEMA e FRAMA reagem à mudança na tendência mais rápido do que os outros.

Comparação de diferentes tipos de médias móveis

Comparemos os indicadores técnicos discutidos acima na estratégia de negociação com as mesmas condições de entrada e de saída do mercado.

Descrição da estratégia de negociação

Para testar o indicador foi escolhida uma estratégia simples com claras condições de entrada e saída do mercado.

Condições de entrada no mercado. 

  • Sinal de compra antecipado: a linha do indicador atravessa o corpo da vela "touro". Além disso, se a diferença entre os valores atuais e anteriores do indicador são maiores do que o parâmetro Growth factor definido (indicador em alta), abrimos um trade para compra.
  • Sinal de venda antecipado: a linha do indicador atravessa o corpo da vela "urso". Além disso, se a diferença entre os valores atuais e anteriores do indicador são maiores do que o parâmetro Growth factor definido (indicador em baixa), abrimos um trade para venda.

Condições de saída do mercado:

  • ao atingir o nível de TakeProfit ou StopLoss;
  • se o trade para compra for aberto e a linha do indicador atravessar o corpo da vela "urso";
  • se o trade para venda for aberto e a linha do indicador atravessar o corpo da vela "touro";

Nas figuras 3,4 são mostrados exemplos de negociação com base nesta estratégia.

Buy

Fig. 3. Exemplo de trade para compra

Sell

Fig. 4. Exemplo de trade para venda

O expert advisor Moving Average implementa uma estratégia de negociação semelhante, ela pode ser encontrada no navegador do terminal MetaTrader 5.

Criação do expert advisor

Programaremos um EA, visando negociar com base na estratégia acima. O expert terá a possibilidade de selecionar um dos seguintes indicadores técnicos: MA (com os métodos Simple, Exponential, Smoothed, Linear Weighted), DEMA, TEMA, FRAMA, AMA, VIDYA, NRMA. O indicador selecionado será plotado no gráfico. Além disso, tornar-se-á possível especificar os parâmetros de entrada do indicador, definir o tamanho do TakeProfit e StopLoss, o tamanho do lote, o valor do coeficiente de crescimento (Growth factor).

Verificaremos as condições de entrada e de saída do mercado apenas com base na barra nova, e não a cada tick. Primeiro, será verificada a presença da posição aberta (para fazer isso no AE é criada a função SelectPosition). Se não houver, verificaremos a condição de entrada (função CheckForOpen), se houver, verificaremos a condição de entrada e de saída (função CheckForClose).

O código completo do artigo se encontra anexo ao artigo (arquivo MultiMovingAverageExpert.mq5). Estudaremos apenas a concretização dos critérios de saída e de entrada do mercado. A verificação das condições de entrada é realizada na função CheckForOpen da seguinte forma:

   if(rt[0].open>ma[0] && rt[0].close<ma[0])               //verificação do cruzamento da vela "urso"
     {
      if(BuyCross)
         BuyCross=false;                                   //removemos a condição prévia de compra (se, antes disso, a linha do indicador tiver cruzado a vela "touro")
      SellCross=true;                                      //definimos a condição prévia para venda
     }
   else
   if(rt[0].open<ma[0] && rt[0].close>ma[0])               //verificação do cruzamento da vela "touro"
     {
      if(SellCross)
         SellCross=false;                                 //removemos a condição prévia de venda (se, antes disso, a linha do indicador tiver cruzado a vela "urso")
      BuyCross=true;                                      //definimos a condição prévia para compra
     }
   if(SellCross && ma[0]>ma[1] && ma[0]-ma[1]>GFactor)
     {
      signal=ORDER_TYPE_SELL;                             //se o indicador cair, surgirá a condição de venda
      SellCross=false;                                    //removemos a condição prévia de venda
     }
   else
   if(BuyCross && ma[1]>ma[0] && ma[1]-ma[0]>GFactor)
     {
      signal=ORDER_TYPE_BUY;                             // se o indicador crescer, surgirá a condição de compra
      BuyCross=false;                                    //removemos a condição prévia de compra
     }
  • Na matriz rt[] são armazenados os dados históricos sobre os preços
  • Na matriz ma[] - o valor do indicador.
  • rt[0].close, rt[0].open - o valor do preço anterior close/open
  • ma[0] - o valor anterior do indicador
  • ma[1] - o valor atual do indicador
  • GFactor - o coeficiente de crescimento do indicador.
  • A seguir, variável signal é usada para formar a ordem de compra ou venda.

Verificação de critérios de saída é realizada na função CheckForClose assim:

   bool signal=false;
   long type=PositionGetInteger(POSITION_TYPE);

   if(type==(long)POSITION_TYPE_BUY && rt[0].open>ma[0] && rt[0].close<ma[0])       //se a posição de venda estiver aberta e
                                                                                    //a linha do indicador cruzar o corpo da vela "urso" 
      signal=true;                                                                  //será um sinal para fechar o trade
   if(type==(long)POSITION_TYPE_SELL && rt[0].open<ma[0] && rt[0].close>ma[0])      //se a posição de venda estiver aberta e
                                                                                    //a linha do indicador cruzar o corpo da vela "touro"  
      signal=true;                                                                  //será um sinal para fechar o trade
   if(signal)
     {
      if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100)
         ExtTrade.PositionClose(_Symbol,3);                                         //fechamos o trade
     }

Teste e produto de trabalho do expert advisor

Testaremos o expert advisor nos pares de moedas EURUSD, GBPUSD, USDJPY, USDCAD, AUDUSD, timeframe H1. TakeProfit - 80 pontos, StopLoss - 50 pontos, volume de lote 0.1, tamanho do depósito - US$ 10 000, modo de teste - todos os ticks, alavancagem 1:100, cotações de cinco dígitos, servidor: MetaQuotes-Demo.

O teste foi realizado de 01.01.2016 a 09.09.2017.

Para cada indicador, foram otimizados o período (zona de alteração 5 - 50, incremento 1) e parâmetro Growth factor (zona de alteração 0,0001 -  0,0001, incremento 0,001).

Para o Variable Index Dynamic Average, foram otimizados o período do EMA (como período de cálculo do indicador) e período do oscilador CMO (zona de alteração 5 - 50, incremento 1).

Para o Nick Rypock Moving Average, foi alterado o parâmetro Fact, que define o período de cálculo do indicador.

O cálculo dos valores do indicador é realizado segundo os preços Close, sem deslocamento horizontal e vertical. Alguns indicadores têm parâmetros adicionais:

Nome da média móvel Valores de parâmetros
Adaptive Moving Average
  • Período do EMA rápido - 2
  • Período do EMA lento - 30
Nick Rypock Moving Average
  • Método de média - SMA
  • Profundidade da suavização - 3
  • Parâmetro da suavização - 15 (não se usa com o método de média da SMA)
  • KF=1
  • Sharp=2

Resultados de teste no par de moedas EURUSD

Resultados de teste no par de moedas EURUSD (variantes com um lucro líquido maior) são apresentados na tabela:

Nome da média móvel Parâmetros a serem otimizados e seus valores Número de trades Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento
máximo no capital
Moving Average (método de média Simple) Período - 15, Growth factor - 0.0002 383 1309.82 1.32 3.14 0.1 397.29 (3.81%) 417.26 (3.99%)
Moving Average (método de média Exponential) Período - 11, Growth factor - 0.0003 405 1109.72 1.22 3.02 0.08 346.35 (3.39%) 367.45 (3.6%)
Moving Average (método de média Smoothed) Período - 6, Growth factor - 0.0003 405 1109.72 1.22 3.02 0.08 346.35 (3.39%) 367.45 (3.6%)
Moving Average (método de média Linear Weighted) Período - 22, Growth factor - 0.0002 351 1505.35 1.34 3.65 0.11 383.71 (3.41%) 412.88 (3.91%)
Adaptive Moving Average Período - 14, Growth factor - 0.0001 384 1024.19 1.19 1.63 0.07 600.06 (5.41%) 627.36 (5.64%)
Double Exponential Moving Average Período - 28, Growth factor - 0.0003 366 1676.43 1.39 3.49 0.12 460.33 (4.39%) 481.03 (4.58%)
Triple Exponential Moving Average Período - 44, Growth factor - 0.0002 482 1842.81 1.35 5.31 0.11 321.07 (3.14%) 347.27 (3.39%)
Fractal Adaptive Moving Average Período - 16, Growth factor - 0.0007 174 766.52 1.37 2.69 0.12 252.4 (2.5%) 285.08 (2.78%)
Variable Index Dynamic Average Período EMA - 12, período CMO - 2, Growth factor - 0.0003 333 1237.31 1.26 2.86 0.09 385.44 (3.43%) 432.81 (3.84%)
Nick Rypock Moving Average Fact - 15, Growth factor - 0.0001 295 1669.62 1.42 4.14 0.14 376.22 (3.5%) 403.52 (3.75%)

A partir dos resultados de teste é possível tirar as seguintes conclusões:

  • O maior indicador de lucro líquido e fator de recuperação é o Triple Exponential Moving Average, no entanto seus outros indicadores não são os mais altos, além disso, os indicadores Double Exponential Moving Average e Nick Rypock Moving Average também mostraram bons resultados.
  • Adaptive Moving Average apresentou os piores indicadores de lucro, fator de recuperação, índice de Sharpe, bem como o maior rebaixamento em capital e saldo.

Para uma comparação de resultados mais clara normalizamos os indicadores de lucro líquido, recuperação, índice de Sharpe, fator de recuperação, rebaixamento máximo no saldo e capital de acordo com a formula a seguir:

Onde:

  • nValue - valor normalizado do parâmetro na faixa de 0 a 1,
  • Value - valor atual do parâmetro,
  • MaxValue - valor máximo do parâmetro,
  • MinValue - valor mínimo do parâmetro.

Resultados apresentados na tabela (melhores resultados em amarelo, o piores em vermelho):

Nome da média móvel  Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento máximo no capital Valor de indicadores excluindo o rebaixamento Valor de indicadores excluindo o rebaixamento
Moving Average (método de média Simple) 0.50479 0.56522 0.41033 0.42857 0.41676 0.38618 1.9089 1.10597
Moving Average (método de média Exponential) 0.31887 0.13043 0.37772 0.14286 0.27024 0.24065 0.96988 0.459
Moving Average (método de média Smoothed) 0.31887 0.13043 0.37772 0.14286 0.27024 0.24065 0.96988 0.459
Moving Average (método de média Linear Weighted) 0.68646 0.65217 0.54891 0.57143 0.3777 0.37338 2.45898 1.7079
Adaptive Moving Average 0.23941
0 0 0 1 1 0.23941 -1.76059
Double Exponential Moving Average
0.84541

0.86957 0.50543 0.71429 0.59808 0.57248 2.9347 1.76413
Triple Exponential Moving Average 1 0.69565 1 0.57143 0.19572 0.18169 3.26708 2.88787
Fractal Adaptive Moving Average 0 0.78261 0.28804 0.71429 0 0 1.78494 1.78494
Variable Index Dynamic Average 0.43742
0.29631 0.33361 0.27656 0.38267 0.43161 1.34419 0.52992
Nick Rypock Moving Average 0.83909 1 0.68207 1 0.35615 0.34603 3.52115 2.81897

Na última coluna da tabela, al somar os indicadores, os valores do rebaixamento máximo no saldo e no capital são tomados com um sinal negativo (quanto menor o rebaixamento, melhor é a estratégia). Assim, Triple Exponential Moving Average, Nick Rypock Moving Average e Double Exponential Moving Average exibiram os melhores indicadores para a estratégia estudada (eles são destacados em amarelo na tabela). Resultados de teste para TEMA, NRMA e DEMA são mostrados na Fig. 5-10.

Gráfico para o Triple Exponential MA

Fig. 5. Gráfico de saldo (capital) do Triple Exponential Moving Average


Fig. 6 Relatório do Triple Exponential Moving Average

Gráfico para o NRMA

Fig. 7. Gráfico de saldo (capital) do Nick Rypock Moving Average


Fig. 8. Relatório para o Nick Rypock Moving Average

Gráfico DEMA

Fig. 9. Gráfico de saldo (capital) do Double Exponential Moving Average 


Fig. 10. Relatório para o Double Exponential Moving Average 

Na Fig. 5, 7, 9, pode ser visto que o gráfico de saldo (capital) para o TEMA parece mais estável do que o do NRMA e DEMA, embora tenha um pequeno rebaixamento. No gráfico de saldo (capital) do NRMA, pode ser visto um crescimento brusco do lucro nos últimos 3 meses de negociação, no gráfico do DEMA, o incremento de lucro (com um pequeno rebaixamento) começa desde dezembro do 2016.

Resultados de teste no par de moedas  GBPUSD

Resultados de teste no par de moedas GBPUSD são apresentados na tabela:

Nome da média móvel Parâmetros a serem otimizados e seus valores Número de trades Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento 
máximo no capital
Moving Average (método de média Simple) Período -38, Growth factor - 0.0005 52 1013.56 1.98 3.82 0.32 207.04 (2.7%) 265.06 (2.65%)
Moving Average (método de média Exponential) Período -41 , Growth factor - 0.0002 219 787.12 1.14 1.23 0.07 576.96 (5.21%) 639.44 (5.75%)
Moving Average (método de média Smoothed) Período - 42, Growth factor - 0.0003 48 817.42 1.71 3.85 0.26 151.32 (1.51%) 212.24 (2.04%)
Moving Average (método de média Linear Weighted) Período - 50, Growth factor - 0.0001 328 1086.08 1.17 1.26 0.07 818.34 (7.45%) 861.04 (7.82%)
Adaptive Moving Average Período - 21, Growth factor - 0.001 100 1102.16 1.61 4.61 0.21 176.46 (1.71%) 239.12 (2.28%)
Double Exponential Moving Average Período - 23, Growth factor - 0.0007 263 1070.88 1.21 1.96 0.08 466.24 (4.42%) 547.58 (5.16%)
Triple Exponential Moving Average Período - 30, Growth factor - 0.0009 214 1443.90 1.39 4.11 0.14 322.76 (3.02%) 351.14 (3.28%)
Fractal Adaptive Moving Average Período - 38, Growth factor - 0.0001 819 651.54 1.05 0.85 0.02 747.98 (7.12%) 764.88 (7.28%)
Variable Index Dynamic Average Período EMA - 35, período CMO - 7, Growth factor - 0.0004 73 1606.98 1.99 5.20 0.34 251.94 (2.52%) 309 (3.08%)
Nick Rypock Moving Average Fact - 45, Growth factor - 0.0005  53 978.30 1.80 3.86 0.29 200.64 (1.99%) 253.58 (2.51%)

Resultados normalizados são apresentados na tabela (em amarelo os melhores resultados, em vermelho os piores):

Nome da média móvel  Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento máximo no capital Valor de indicadores excluindo o rebaixamento Valor de indicadores excluindo o rebaixamento
Moving Average (método de média Simple) 0.3789
0.98929 0.68343 0.91799 0.08354 0.08141 2.96961 2.80467
Moving Average (método de média Exponential) 0.1419 0.09351 0.08718 0.13465 0.63812 0.65845 0.45724 -0.8393
Moving Average (método de média Smoothed) 0.17416 0.70302 0.69032 0.74598 0 0 2.31347 2.31347
Moving Average (método de média Linear Weighted) 0.45481 0.12036 0.09417 0.14629 1 1 0.81562 -1.1844
Adaptive Moving Average 0.47164 0.58999 0.86402 0.57613 0.03769 0.04143 2.50177 2.42265
Double Exponential Moving Average
0.4389
0.17142 0.25383 0.1936 0.47213 0.51686 1.05774 0.06875
Triple Exponential Moving Average 0.82931 0.36161 0.74969 0.36845 0.25702 0.21409 2.30906 1.83795
Fractal Adaptive Moving Average 0 0 0 0 0.89452 0.85179 0 -1.7463
Variable Index Dynamic Average 1 1 1 1 0.15085 0.14914 4 3.70001
Nick Rypock Moving Average 0.342 0.79826 0.69126 0.82047 0.07394 0.06372 2.65199 2.51433

Como pode ser visto a partir das tabelas, o Variable Index Dynamic Average possui os melhores indicadores, além disso, Nick Rypock Moving Average e Moving Average com o método de média Simple também mostraram bons indicadores. Resultados de teste para VIDYA, NRMA e SMA são mostrados na Fig. 11-16.

Vidya_gbp_usd

Fig. 11. Gráfico de saldo (capital) do Variable Index Dynamic Average


Fig. 12. Relatório para o Variable Index Dynamic Average

NRMA GBPUSD

Fig. 13. Gráfico de saldo (capital) do Nick Rypock Moving Average


Fig. 14. Relatório para o Variable Index Nick Rypock Moving Average

SMA GBPUSD

Fig. 15. Gráfico de saldo (capital) do Simple Moving Average 


Fig. 16. Relatório para o  Simple Moving Average 

Na Fig. 11-16, vemos que os gráficos VIDYA, NRMA e SMA são mais ou menos iguais, no início da negociação há um ligeiro rebaixamento, a seguir, os gráfico crescem, o número de trades do VIDYA é maior do que o do NRMA eSMA. Porcentagem de trades lucrativos do VIDYA ultrapassa a do NRMA e SMA.

Resultados de teste no par de moedas USDJPY

Resultados de teste no par de moedas USDJPY são exibidos na tabela:

Nome da média móvel Parâmetros a serem otimizados e seus valores Número de trades Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento 
máximo no capital
Moving Average (método de média Simple) Período -34, Growth factor - 0.0004 451 1784.95 1.32 3.69 0.1 465.52 (4.17%) 483.34 (4.32%)
Moving Average (método de média Exponential) Período - 42, Growth factor - 0.0007 465 1135.23 1.20 2.21 0.07 461.52 (4.08%) 514.61 (4.53%)
Moving Average (método de média Smoothed) Período - 33, Growth factor - 0.0008 372 1702.94 1.36 5.15 0.12 296.57 (2.58%) 330.6 (2.87%)
Moving Average (método de média Linear Weighted) Período - 50, Growth factor - 0.0005 477 1892.24 1.33 4.66 0.10 384.06 (3.68%) 406.1 (3.88%)
Adaptive Moving Average Período - 46, Growth factor - 0.0006 403 1460.51 1.26 2.56 0.09 527.75 (4.77%) 569.67 (5.13%)
Double Exponential Moving Average Período - 18, Growth factor - 0.001 1062 1459.18 1.15 3.55 0.05 366.24 (3.30%) 410.56 (3.69%)
Triple Exponential Moving Average Período - 50, Growth factor - 0.0003 657 1115.86 1.15 1.87 0.05 537.18 (4.68%) 597.71 (5.18%)
Fractal Adaptive Moving Average Período - 24, Growth factor - 0.0008 1030 615.92 1.06 0.8 0.02 734.03 (6.58%) 766.01 (6.85%)
Variable Index Dynamic Average Período EMA - 18, período CMO - 42, Growth factor - 0.001 238 2338.68 1.64 5.14 0.21 417.66 (3.62%) 454.69 (3.93%)
Nick Rypock Moving Average Fact - 28, Growth factor - 0.0002 435 1465.32 1.27 3.00 0.09 456.65 (4.02%) 488.7 (4.29%)

Resultados normalizados são apresentados na tabela (em amarelo os melhores resultados, em vermelho os piores):

Nome da média móvel  Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento máximo no capital Valor de indicadores excluindo o rebaixamento Valor de indicadores excluindo o rebaixamento
Moving Average (método de média Simple) 0.67858 0.45316 0.66457 0.4324 0.38621 0.3508 2.22871 1.49171
Moving Average (método de média Exponential) 0.30144 0.25001 0.32251 0.25216 0.37706 0.42261 1.12612 0.32645
Moving Average (método de média Smoothed) 0.63098 0.51885 1 0.50010 0 0 2.64993 2.64993
Moving Average (método de média Linear Weighted) 0.74086 0.46535 0.88693 0.42881 0.2 0.1734 2.52195 2.14855
Adaptive Moving Average 0.49025 0.34559 0.40481 0.36951 0.52846 0.54907 1.61017 0.53264
Double Exponential Moving Average 0.48948 0.15054 0.63263 0.14711 0.15926 0.18364 1.41976 1.07686
Triple Exponential Moving Average 0.2902 0.15141 0.2445 0.15928 0.55002 0.61347 0.84538 -0.3181
Fractal Adaptive Moving Average 0 0 0 0 1 1 0 -2
Variable Index Dynamic Average 1 1 0.99825 1 0.2768 0.285 3.99825 3.43645
Nick Rypock Moving Average   0.49305  0.36549  0.50479  0.37182 0.36593  0.36311  1.73515  1.00611 

Como pode ser visto a partir das tabelas, Variable Index Dynamic Average e  Moving Average como métodos de média Smoothed e Linear Weighted possuem os melhores indicadores. Os indicadores de lucro líquido, rentabilidade, índice de Sharpe do VIDYA são superiores aos do SMMA e LWMA, mas SMMA e LWMA apresentam o menor rebaixamento no saldo e capital. Resultados de teste para VIDYA, SMMA e LWMA são mostrados na Fig. 17-22.

Vidya USDJPY

Fig. 17. Gráfico de saldo (capital) do Variable Index Dynamic Average


Fig. 18. Relatório para o  Variable Index Dynamic Average

LWMA

Fig. 19. Gráfico de saldo (capital) do Linear Weighted  Moving Average 


Fig. 20. Relatório para o  Linear Weighted Moving Average 

SSMA

Fig. 21. Gráfico de saldo (capital) do Smoothed Moving Average 


Fig. 22. Relatório para o  Smoothed Moving Average

Na Fig. 17-22, vemos que apesar do baixo percentual de trades rentáveis, os indicadores mostram um lucro líquido elevado, devido ao fato de que o par de moedas USDJPY tem alta volatilidade.

Resultados de teste no par de moedas USDCAD

Resultados de teste no par de moedas USDCAD são apresentados na tabela:

Nome da média móvel Parâmetros a serem otimizados e seus valores Número de trades Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento 
máximo no capital
Moving Average (método de média Simple) Período -39, Growth factor - 0,0004 59 1101.44 2.30 7.11 0.40 133.44 (1.25%) 154.92 (1.45%)
Moving Average (método de média Exponential) Período - 31, Growth factor - 0.0005 76 951.88 1.74 3.01 0.27 278.08 (2.56%) 316.57 (2.91%)
Moving Average (método de média Smoothed) Período - 50, Growth factor - 0.0001 121 1262.26 1.57 3.07 0.22 343.76 (3.19%) 411.32 (3.81%)
Moving Average (método de média Linear Weighted) Período - 46, Growth factor - 0.0005 46 903.64 2.34 5.31 0.42 128.97 (1.22%) 170.05 (1.61%)
Adaptive Moving Average Período - 38, Growth factor - 0.0009 41 990.44 3.18 8.62 0.55 77.57 (0.73%) 114.96 (1.09%)
Double Exponential Moving Average Período - 44, Growth factor - 0.0007 73 941.93 2.07 5.33 0.32 137.28 (1.28%) 176.6 (1.64%)
Triple Exponential Moving Average Período - 49, Growth factor - 0.0009 76 559.18 1.62 3.28 0.20 122.21 (1.2%) 170.57 (1.66%)
Fractal Adaptive Moving Average Período - 15, Growth factor - 0.0009 185 504.26 1.27 2.44 0.09 197.12 (1.95%) 206.37 (2.04%)
Variable Index Dynamic Average Período EMA - 34, período CMO - 9, Growth factor - 0.0002 111 1563.99 1.86 6.17 0.30 185.64 (1.70%) 253.36 (2.32%)
Nick Rypock Moving Average Fact - 41, Growth factor - 0.0004  81 594.91 1.39 1.74 0.16 309.02 (2.88%) 342.16 (3.18%)

Resultados normalizados são apresentados na tabela(em amarelo os melhores resultados, em vermelho os piores):

Nome da média móvel  Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento máximo no capital Valor de indicadores excluindo o rebaixamento Valor de indicadores excluindo o rebaixamento
Moving Average (método de média Simple) 0.56352
0.53776 0.78104 0.67198 0.20989 0.13484 2.5543 2.20957
Moving Average (método de média Exponential) 0.42239 0.24419 0.18441 0.37529 0.75326 0.68029 1.22628 -0.2073
Moving Average (método de média Smoothed) 0.71528 0.15751 0.19342 0.26924 1 1 1.33545 -0.6646
Moving Average (método de média Linear Weighted) 0.37687   0.55859 0.5199 0.69827 0.1931 0.18589 2.15363 1.77465
Adaptive Moving Average 0.45878 1 1 1 0 0 3.45878 3.45878
Double Exponential Moving Average 0.413
0.42112 0.52277 0.48957 0.22431 0.20799 1.84645 1.41415
Triple Exponential Moving Average 0.05182 0.18256 0.22388 0.23681 0.1677 0.18764 0.69508 0.33974
Fractal Adaptive Moving Average 0 0 0.10249 0 0.44912 0.30844 0.10249 -0.6551
Variable Index Dynamic Average 1 0.30606 0.64482 0.43945 0.40599 0.467 2.39033 1.51734
Nick Rypock Moving Average   0.08554 0.06124  0.14059 0.86949  0.76664  0.28737  -1.3488 

Como pode ser visto a partir das tabelas, Adaptive Moving Average, Moving Average com métodos de média Simple e Variable Index Dynamic Average possuem os melhores indicadores. Adaptive Moving Average mostram os melhores indicadores de rentabilidade, fator de recuperação e índice de Sharpe, também tem o menor rebaixamento no saldo e capital. Variable Index Dynamic Average tem o maior lucro líquido, por outro lado, outros indicadores não são os mais elevados. Resultado de teste para AMA, SMA e VIDYA são mostrados na Fig. 23-28.

AMA

Fig. 23. Gráfico de saldo (capital) do Adaptive Moving Average


Fig. 24. Relatório para o  Adaptive Moving Average

SMA

Fig. 25. Gráfico de saldo (capital) do Simple Moving Average


Fig. 26. Relatório para o  Simple Moving Average

VIDyA

Fig. 27. Gráfico de saldo (capital) do Variable Index Dynamic Average


Fig. 28. Relatório para o  Variable Index Dynamic Average

A partir da Fig. 23-28, podemos ver que o AMA tem o menor número de trades e o maior percentual de trades lucrativos. SMA e VIDYA têm um lucro grande graças ao grande número de trades, além disso, o número de trades lucrativos excede os que dão prejuízos. Não são observados fortes rebaixamentos nos gráficos AMA, SMA e VIDYA.

Resultados de teste no par de moedas AUDUSD

Resultados de teste no par de moedas AUDUSD são apresentados na tabela:

Nome da média móvel Parâmetros a serem otimizados e seus valores Número de trades Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento 
máximo no capital
Moving Average (método de média Simple) Período -7, Growth factor - 0.0009 78 262.48 1.36 1.23 0.11 175.85 (1.74%) 214.18 (2.11%)
Moving Average (método de média Exponential) Período - 40, Growth factor - 0.0004 24 652.88 2.62 2.82 0.47 206.76 (1.93%) 231.76 (2.16%)
Moving Average (método de média Smoothed) Período - 21, Growth factor - 0.0004 24 651.18 2.61 2.81 0.47 206.76 (1.93%) 231.76 (2.16%)
Moving Average (método de média Linear Weighted) Período - 32, Growth factor - 0.0005 24 383.64 1.97 2.25 0.30 116.38 (1.11%) 170.24 (1.62%)
Adaptive Moving Average Período - 21, Growth factor - 0.0007 58 252.39 1.30 0.54 0.11 392.15 (3.80%) 464.47 (4.48%)
Double Exponential Moving Average Período - 40, Growth factor - 0.0006 39 296.15 1.70 1.53 0.20 156.62 (1.51%) 193.02 (1.86%)
Triple Exponential Moving Average Período - 21, Growth factor - 0.001 69 273.12 1.35 1.05 0.11 228.5 (2.20%) 259.71 (2.50%)
Fractal Adaptive Moving Average Período - 38, Growth factor - 0.0007 83 109.01 1.11 0.55 0.04 142.85 (1.42%) 196.47 (1.94%)
Variable Index Dynamic Average Período EMA - 26, período CMO - 5, Growth factor - 0.0006  23 697.59 2.99 2.96 0.53 151.35 (1.41%) 235.38 (2.19%)
Nick Rypock Moving Average Fact - 22, Growth factor - 0.0006 34 509.27 1.90 2.55 0.28 94.58 (0.9%) 200 (1.89%)

Resultados normalizados são apresentados na tabela (em amarelo os melhores resultados, em vermelho os piores):

Nome da média móvel  Lucro líquido Rentabilidade Fator de recuperação Índice de Sharpe Rebaixamento máximo no saldo Rebaixamento máximo no capital Valor de indicadores excluindo o rebaixamento Valor de indicadores excluindo o rebaixamento
Moving Average (método de média Simple) 0.26075 0.12921 0.28183 0.13463 0.27311 0.14934 0.80642 0.38397
Moving Average (método de média Exponential) 0.92404 0.80629 0.93942 0.86552 0.37699 0.20909 3.53527 2.94919
Moving Average (método de média Smoothed) 0.92115 0.8006 0.93639 0.86226 0.37699 0.20909 3.5204 2.93433
Moving Average (método de média Linear Weighted) 0.4666 0.45691 0.70658 0.52861 0.07326 0 2.1587 2.08544
Adaptive Moving Average 0.2436 0.10105 0 0.13347 1 1 0.47812 -1.5219
Double Exponential Moving Average 0.31795
0.31405 0.40942 0.31848 0.20849 0.07742 1.3599 1.07399
Triple Exponential Moving Average 0.27882 0.12776 0.20999 0.14014 0.45005 0.30408 0.75672 0.00259
Fractal Adaptive Moving Average 0 0 0.00473 0 0.16221 0.08915 0.00473 -0.2466
Variable Index Dynamic Average 1 1 1 1 0.19078 0.22139 4 3.58783
Nick Rypock Moving Average   0.68004 0.42124  0.82757  0.48773   0 0.10115  2.41659  2.31545 

Como pode ser visto a partir das tabelas, Variable Index Dynamic Average, e Moving Average com métodos de média Exponential e Smoothed têm os melhores indicadores. VIDYA mostra os melhores indicadores de lucro líquido, rentabilidade, fator de recuperação e índice de Sharpe. EMA e SMMA têm quase os mesmos indicadores e número de trades. Os resultados de teste para VIDYA, EMA e SMMA são apresentados na Fig. 29-34.

VIDyA
Fig. 29. Gráfico de saldo (capital) do Variable Index Dynamic Average


Fig. 30. Relatório para o  Variable Index Dynamic Average

EMA

Fig. 31. Gráfico de saldo (capital) do  Exponential Moving Average


Fig. 32. Relatório para o  Exponential Moving Average

SSMA

Fig. 33. Gráfico de saldo (capital) do Smoothed Moving Average


Fig. 34. Relatório para o  Smoothed Moving Average

Na Fig. 29-34, podemos ver que os gráficos de saldo (capital) para VIDYA, EMA e SMMA são mais ou menos iguais, VIDYA tem mais trades lucrativos do que EMA e SMMA. O par de moedas AUDUSD tem baixa volatilidade, o que explica os resultados obtidos.

A partir dos resultados de teste nos pares de moedas EURUSD, GBPUSD, USDJPY, USDCAD, AUDUSD, podem-se tirar as seguintes conclusões:

  • os melhores resultados nos pares de moedas com alta (GBPUSD, USDJPY) e baixa volatilidade (AUDUSD)  foram mostrados pelo Variable Index Dynamic Average
  • Adaptive Moving Average tem os melhores indicadores no par de moedas USDCAD, no entanto, no par de moedas EURUSD, ele mostra os melhores resultados
  • no par de moedas EURUSD  Triple Exponential Moving Average tem os melhores indicadores
  • Fractal Adaptive Moving Average mostra os piores resultados nos pares de moedas GBPUSD, USDJPY, USDCAD, AUDUSD
  • o indicador padrão Moving Average com diferentes períodos de média mostrou bons resultados.

Fim do artigo

Examinamos várias médias móveis (MA (com os métodos Simple, Exponential, Smoothed, Linear Weighted), DEMA, TEMA, FRAMA, AMA, VIDYA, NRMA), foi descrito como se cacula cada MA. Comparamos e otimizamos os parâmetros das médias móveis na negociação sob as mesmas condições de entrada e de saída.

As seguintes conclusões podem ser tiradas a partir dos resultados:

  • otimizados os parâmetros de qualquer uma das médias móveis estudadas, pode-se obter uma estratégia lucrativa;
  • a maioria das médias móveis são versões do indicador EMA;
  • a principal vantagem das médias móveis baseadas no EMA é a diminuição de sinais falsos na fase de correção e uma reação mais rápida à alteração da tendência;
  • o indicador Variable Index Dynamic Average apresentou os melhores resultados, ele pode ser utilizado em pares de moedas com alta e baixa volatilidade, bem como em pares de moedas com volatilidade média.
No artigo são examinados quatro indicadores técnicos (AMA, FRAMA, VIDYA, NRMA), que diferem do EMA pela maneira com se calcula o fator de suavização. Talvez isto incentive alguém a criar uma nova versão do indicador EMA mais eficiente.

Traduzido do russo por MetaQuotes Software Corp.
Artigo original: https://www.mql5.com/ru/articles/3791

Arquivos anexados |
Lógica Difusa nas estratégias de negociação Lógica Difusa nas estratégias de negociação

O artigo considera um exemplo de aplicação da lógica difusa para construir um sistema de negociação simples, usando a biblioteca Fuzzy. São propostas melhorias ao sistema através da combinação da lógica difusa, algoritmos genéticos e redes neurais.

Arbitragem triangular Arbitragem triangular

O artigo é dedicado ao popular método de negociação arbitragem triangular. O assunto é analisado em muitos detalhes, são discutidos os aspectos positivos e negativos da estratégia, é desenvolvido o código pronto para usar do expert.

Uso do filtro de Kalman na previsão da tendência Uso do filtro de Kalman na previsão da tendência

Para o sucesso na negociação, quase sempre são necessários indicadores, cujo objetivo é a separação entre o movimento principal do preço e as flutuações ruidosas. Neste artigo, é examinado um dos filtros digitais mais promissores, o filtro de Kalman. Além disso, são descritos tanto sua construção como uso na prática.

Expert Advisor Multiplataforma: As classes CExpertAdvisor e CExpertAdvisors Expert Advisor Multiplataforma: As classes CExpertAdvisor e CExpertAdvisors

Este artigo aborda principalmente as classes CExpertAdvisor e CExpertAdvisors, que servem como contêiner para todos os outros componentes descritos nesta série de artigos sobre expert advisors multiplataforma.