English Русский 中文 Español Deutsch 日本語 한국어 Français Italiano Türkçe
Econometria do EURUSD - Previsão um passo à frente

Econometria do EURUSD - Previsão um passo à frente

MetaTrader 4Sistemas de negociação | 8 setembro 2015, 11:18
1 159 0
СанСаныч Фоменко
СанСаныч Фоменко

Introdução

O artigo foca na previsão um passo à frente para EURUSD usando o programa EViews e uma avaliação mais profunda dos resultados de previsão por meio do programa EViews e um Expert Advisor desenvolvido em MQL4. Foi desenvolvido com base no artigo "Analisando os Parâmetros Estatísticos dos Indicadores " cujas proposições serão utilizadas sem qualquer esclarecimento adicional.


1. Construindo um Modelo

O artigo anterior terminou com a análise de regressão da seguinte equação:

EURUSD = C(1)*EURUSD_HP(1) + C(2)*D(EURUSD_HP(1)) + C(3)*D(EURUSD_HP(2))

Esta equação foi resultado da implementação da decomposição gradual das cotações iniciais dos preços de fechamento. A idéia por trás é baseada na separação de um componente determinístico a partir das cotações iniciais e análise posterior do residual resultante.

Vamos começar a construir um modelo para EURUSD nas barras H1 ao longo de uma semana, no período de 12 a 17 de Setembro de 2011.


1.1. Análise das cotações iniciais do EURUSD

Começamos com a análise da série inicial EURUSD a fim de planejar o próximo passo.

Primeiro, vamos criar um arquivo contendo as cotações para uma análise posterior no EViews. Para esta finalidade, eu uso um indicador sobreposto a um gráfico para gerar um arquivo necessário com aspas.

O script do indicador é mostrado a seguir e na minha opinião não precisa de comentários.

//+------------------------------------------------------------------+
//|                                                   Kotir_Out.mq4  |
//|   Indicador de saída das cotações para EViews                    |
//|   Versão de  29.08.2011                                          |
//+------------------------------------------------------------------+
//--- indicador na janela principal
#property indicator_chart_window
//--- número de buffers visíveis do indicador
#property indicator_buffers            1
//--- definindo a cor do indicador
#property indicator_color1             Red      // Previsão     
//--- definir a largura da linha
#property indicator_width1             2
//---  parâmetros externos
extern   int      Number_Bars=100;     // Número de barras
extern   string   DateTime_begin    =  "2011.01.01 00:00";
extern   string   DateTime_end      =  "2011.01.01 00:00";
//--- variáveis globais
//--- declarando os buffers
double   Quotes[];         // Cotações não visíveis
int      Quotes_handle;    // Ponteiro para o arquivo da cotação
int      i;                // Contador no ciclo
//--- Nomes de arquivos para trocar com EViews
string   fileQuotes;       // nome do arquivo da cotação
//+------------------------------------------------------------------+
//|Função para inicializar o Indicador                               |
//+------------------------------------------------------------------+
int init()
  {
//--- Número de buffers do indicador
   IndicatorBuffers(1);
//--- configurar os parâmetros de desenho
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,0);
   SetIndexDrawBegin(0,Number_Bars);

//--- obrigatório o número de indicador ao nome 
   SetIndexBuffer(0,Quotes);  //Buffer de índice

//--- valores do buffer inicial
   SetIndexEmptyValue(0,0.0);
//--- nome do indicador
   IndicatorShortName("Forecast");
//--- geração dos nomes de arquivos para troca com EViews
   fileQuotes="kotir.txt";   // nome do arquivo  de cotação
   int       N_bars_begin   =  0;
   int       N_bars_end     =  0;

   datetime  var_DT_begin   =  0;
   datetime  var_DT_end     =  0;
   bool      exact          =  false;
//---
//--- Criação de arquivo de cotação para a operação EViews
   Quotes_handle=FileOpen(fileQuotes,FILE_CSV|FILE_WRITE,',');
//--- saída antecipada
   if(Quotes_handle<1)
     {
      Print("Failed to create the file ",fileQuotes," Error #",GetLastError());
      return(0);
     }
   FileWrite(Quotes_handle,"DATE","kotir");  // Cabeçalho
//---    
//--- Calculando o número de barras para exportação
   var_DT_begin =  StrToTime(DateTime_begin);
   var_DT_end   =  StrToTime(DateTime_end);

   if(var_DT_begin!=var_DT_end)
     {
      N_bars_begin=iBarShift(NULL,Period(),var_DT_begin,exact);
      N_bars_end=iBarShift(NULL,Period(),var_DT_end,exact);
      Number_Bars=N_bars_begin-N_bars_end;

      Print("Number_Bars = ",Number_Bars,
            ", N_bars_end = ",N_bars_end,
            ", N_bars_begin = ",N_bars_begin);

      for(i=N_bars_begin; i>=N_bars_end; i--)
        {
         FileWrite(Quotes_handle,
                   TimeToStr(iTime(Symbol(),Period(),i)),
                   iOpen(Symbol(),Period(),i));
        }
     }
   else
     {
      for(i=Number_Bars-1; i>=0; i--)
        {
         FileWrite(Quotes_handle,
                   TimeToStr(iTime(Symbol(),Period(),i)),
                   iOpen(Symbol(),Period(),i));
        }
     }
// --- escrevendo as cotações
   FileWrite(Quotes_handle, "Forecast ", 0);   // Área de previsão
   FileClose(Quotes_handle);                  //Fechar arquivo das cotações
   Comment("Created quotes file with the number of bars =",Number_Bars+1);
//--- final da seção Init() 
   return(0);
  }
//+------------------------------------------------------------------+
//| Função "start" do Indicador                                      |
//+------------------------------------------------------------------+
int start()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Função "deinit" do indicador personalizado                       |
//+------------------------------------------------------------------+
int deinit()
  {
//--- remover a mensagem do visor
   Comment("                                                     ");
//----
   return(0);
  }
//+------------------------------------------------------------------+

Tendo definido as datas especificadas acima, eu obtive o arquivo das cotações totalizando 119 linhas, sendo a última linha ""Forecast,0" e este é o lugar onde acontecerá a previsão do futuro. Tenha em mente que estou usando os preços de Abertura. Observe também que as cotações no arquivo estão dispostas na ordem oposta ao MQL4, ou seja, como em linguagens de programação.

O indicador, obviamente, gera o arquivo quotes.txt na pasta \expert\files\. O Expert Advisor que será revisto abaixo terá o arquivo de cotações a partir da pasta especificada quando operando no modo DEMO ou REAL; no entanto quando usado em modo de teste, este arquivo deve estar localizado na pasta \tester\files\. Assim estarei colocando manualmente quotes.txt na pasta do terminal \tester\files\.

Aqui está o gráfico:


Fig. 1. Gráfico de cotação EURUSD H1


Podemos observar uma ou várias tendências, mas nosso objetivo é prever a futura estabilidade do sistema de negociação. Portanto, vamos realizar uma análise das estacionariedade das cotações iniciais EURUSD H1.

Vamos calcular a estatística descritiva:



Fig. 2. Estatísticas descritivas


A estatística descritiva sugere que:

  • Existe uma inclinação para a direita (deve ser 0 considerando que temos 0,244950);
  • A probabilidade de nossos cota iniciais serem distribuídas normalmente é 9,64%.

Visualmente, o histograma certamente nada tem a ver com a distribuição normal, mas a probabilidade de 9,64% dá origem a certas ilusões.

Vamos demonstrá-las em comparação com a teoria:


Fig. 3. Histograma do EURUSD em comparação com a teórica curva de distribuição normal


Podemos verificar visualmente que as cotações do EURUSD_H1 estão longe de serem distribuídas normalmente.

No entanto, ainda é cedo para tirar uma conclusão, como podemos ver a tendência sugere a presença de um componente determinístico nas cotações, ao passo que a presença de tal componente pode distorcer completamente as características estatísticas da variável aleatória (cotações).

Vamos calcular função de autocorrelação das cotações.

Parece com o seguinte:


Fig. 4. Função de autocorrelação das cotações EURUSD_H1


Ao plotar o gráfico, obtemos uma probabilidade da falta de correlação entre as defasagens - é diferente de zero para as primeiras 16 defasagens. O gráfico e a probabilidade sugerem claramente que não há correlação entre as defasagens no EURUSD_H1, ou seja, as cotações em consideração contêm um componente determinista.

Se o componente determinístico é subtraído das cotações iniciais, qual será o residual das características estatísticas?

Para este efeito, vamos aplicar um teste de raiz unitária para ver se a perspectiva é maior para trabalhar com a primeira diferença (residual) das cotações iniciais.


Tabela 1. Teste de raiz unitária

O teste anterior mostra que:

  • A probabilidade de que as cotações iniciais tenham uma raiz unitária (a primeira diferença é normalmente distribuída) é de 41%;
  • O DW (Durbin-Watson) estatístico é pouco mais do que 2.2, também sugere que a primeira diferença é normalmente distribuída.
Conclusão: seria razoável a falta de tendência das séries de preços e, posteriormente, analisar o residual a partir da falta de tendência.


1.2. Suavização

O filtro de Hodrick-Prescott será usado para separar o componente determinístico a partir das cotações do EURUSD, por analogia com o artigo anterior.

O número "10" indica o parâmetro lambda no filtro Hodrick- Prescott. Com base na teoria por trás desta ferramenta, o valor de lambda é de grande importância para o resultado que parece ser o seguinte:



Fig. 5. O resultado da suavização usando o filtro de Hodrick-Prescott

Nós vamos usar a equação do artigo anterior, que nas notações EViews aparece da seguinte forma:

quotes = C(1) * HP(-1) + C(2) * D(HP(-1)) + C(3)*D(HP(-2))

ou seja, nesta equação, levamos em conta o componente determinístico e o ruído, onde queremos mostrar principal diferença entre as cotações iniciais e seus componentes determinísticos.

Na sequência da análise do modelo atual das cotações iniciais, obtemos os seguintes parâmetros da equação de regressão:


Tabela 2. Estimativa da equação de regressão


A probabilidade de 39% do coeficiente ser zero em HР 1_D (-1) é certamente extremamente desagradável.

Tendo obtido as estimativas dos coeficientes da equação de regressão, podemos prosseguir com a previsão um passo à frente.

O resultado é o seguinte:



Fig. 6. Previsão um passo à frente do EURUSD ( às 0:00 horas na segunda-feira)


1.3. Estimativa de resíduos a partir da equação de regressão

Vamos realizar uma análise limitada do residual a partir da equação de regressão. Esta residual foi obtido subtraindo-se os valores calculados, usando a equação de regressão das cotações iniciais do EURUSD.

Deixe-me lembrá-lo que as características deste residual nos ajudarão a estimar a estabilidade futura do sistema de negociação.

Primeiro, vamos executar um teste para a análise das correlações entre as defasagens no residual:



Fig. 7. Função de autocorrelação do residual


Infelizmente, as correlações entre as defasagens ainda estão lá e esta presença põe em dúvida a análise estatística.

O próximo teste que vamos realizar é o teste de normalidade do residual.

O resultado aparece da seguinte forma:


Fig. 8. Histograma do residual a partir da equação de regressão


A probabilidade do residual distribuído normalmente é 25,57%, o que é um figura bastante grande .

Vamos realizar testes para a heterocedasticidade do residual.

Os resultados são os seguintes:

  • A probabilidade que a heterocedasticidade do tipo GARCH esteja ausente é 16,08%
  • A probabilidade que heterocedasticidade geral de White esteja ausente é 0,0066%
Conclusões: após a diferenciação, obtemos um residual com uma probabilidade de 25% a ser distribuído normalmente, uma probabilidade perto do zero livre de correlações e podemos rejeitar a hipótese de que a heterocedasticidade geral de White está estritamente ausente. Isto implica que o nosso modelo é bastante cru, exige que nós eliminamos as as correlações entre as defasagens a serem posteriormente testadas pela heterocedasticidade mais uma vez, e que, no caso tal modelo de heterocedasticidade está presente.

Desde que o meu objetivo é demonstrar o desenvolvimento do sistema de negociaçao baseado na previsão, vou prosseguir com os cálculos, a fim de obter as características que são interessantes aos traders - lucros ou prejuízos.


2. Estimando resultados da Previsão

Na negociação estamos interessados no lucro ao invés de erro de previsão, devendo ser tomado como uma ferramenta auxiliar de análise para comparação dos diferentes modelos, não mais do que isso.

Para estimar os resultados da previsão foi escrito um programa na linguagem EViews. Ele compara movimentos de incrementos reais das cotações do EURUSD com os previstos. Se esses incrementos coincidirem, existe lucro e se não coincidir, existe a perda. Além disso, nós calculamos o lucro representando a soma de todos os incrementos que coincidem com os aumentos previstos e a respectiva perda.

O lucro em relação a perda é designado como um fator de lucro. Então calculamos a relação da rentabilidade para incrementos não rentáveis (lucro em relação a perda na negociação). O número de negócios com perdas consecutivas e a relação da perdas consecutivas das operações para o lucro (fator de recuperação) também são calculados.

O programa na linguagem EViews para estimativa de modelagem resulta em termos de sistema de negociação que consiste no programa principal e duas sub-rotinas.

O programa principal (cabeça) da previsão um passo à frente:

' 
' Programa de previsão um passo à frente
' Versão de 26.09.2011 
'-----------------------------------------------
 include    sub_profit_factor
 include    sub_model_2
'
' 1. Crie um arquivo de trabalho EViews com o nome МТ4 
'
 %path   = "C:\Program Files\BCS Trade Station\tester\files"
 cd      %path

 if @fileexist("work.wf1") = 0  then
  wfcreate(wf  = work)  u 510
 else
  wfopen   work
 endif
'
' Lê as cotações a partir dos arquivos
 read(t = txt)   kotir.txt date $ kotir
'
' Número de observações nas séries sem NA
 !number   = @obs(kotir)
 smpl     1  !number  - 1


 genr  trend    = NA        ' Trend = kotir_f(i) - kotir(i-1)
 genr  kotir_d  = d(kotir)  ' incremento de um passo no movimento de preço  - d(kotir)
'
 
' Calcular o modelo
 call  sub_model_2
'
' Calcular a tabela de lucro
 call sub_profit_factor

' Gerar um arquivo de resultados
 genr result   = 0
'
' Preencher os resultados
 result(1)  = kotir_f(!number)    ' Previsão um passo à frente
 result(2)  = kotir_f_se(!number) ' Erro da previsão um passo à frente
 result(3)  = trend(!number - 1)  ' Direção da previsão
'-----------------------------------------------
' Retornar o resultado para МТ4
'
 smpl      1  10
 write(t=txt,na=0,d=c,dates)  EViewsForecast.txt   result

'-----------------Fim do programa --------------
 smpl      1  !number]
 save       work 
 close      @all
 exit
'
'-----------------------------------------------

Assumindo que o número de programas principais é igual ao número de sub-rotinas que contêm modelos (ver abaixo); isto é feito para a simplificação do trabalho.

A mudança no modelo requer uma alteração em duas linhas do programa principal relacionadascom a alteração do nome da sub-rotina para o modelo.

A sub-rotina que contém o modelo (equação de regressão):

subroutine  sub_model_2

  cd
  wfselect             work
  smpl          1    !number    -  1
' Suavização do primeiro nível usando filtro НР com a primeira lambda
' e gera dois arquivos:  
'      hp1     -  suavização do arquivo
'      p1_d    -   arquivo do residual
  hpf(lambda    =  10)   kotir hp1   @hp1_d
'
'  4. Estimando regressão eq02 que utiliza a seguinte série:
'        hp1  
'        hp1_d
  equation eq1.ls   kotir   hp1(-1)   hp1_d(-1) hp1_d(-2)


'  
'  Estendendo a amostra para incluir a área de previsão
  smpl              1 !number
'
'  Executando uma previsão um passo à frente e gerando as séries de saída:
'    kotir_f     -  forecast
'    kotir_f_se  -  forecast error 
  fit(p)            kotir_f   kotir_f_se

  save              work

endsub

O número de sub-rotinas devem ser igual ao número de modelos.

Para outro modelo, o nome da sub-rotina e, naturalmente, os nomes no programa principal devem ser alterados.

Sub-rotina que calcula os parâmetros de lucros/perdas para o modelo:

' Sub-rotina para a estimativa dos resultados da previsão
' Versão de 27.09.2011 
' ----------------------------------------------------------------------------
' Comparando o aumento da previsão com o aumento das cotações,
' O programa calcula: 
'  Fator de lucro em relação aos incrementos;
'  rentabilidade da equação no número de observações
'  Fator de recuperação como uma relação de lucro em pips ao rebaixamento máximo
' ----------------------------------------------------------------------------
subroutine sub_profit_factor

' As variáveis ​​locais
   !profit = 0          ' Lucro acumulado
   !lost = 0            ' Perda acumulada 
   !profit_factor = 0   ' Fator de lucro
   !i = 1               ' Índice de trabalho
   !n_profit = 0        ' Número de negócios com lucros
   !n_lost = 0          ' Número de negócios com perdas
   !n_p_l = 0           '
   !pr = 0              ' Ausência de perdas consecutivas
   !prosadka = 0        ' Rebaixamento - acumulado de perdas consecutivas
   !tek_prosadka = 0    ' Rebaixamento atual
   !tek_pr = 0          ' Número atual de negócios com perdas

 cd
 wfselect       work
 smpl        1   !number

' Calcular a tendência em cada barra
 for  !i  =  1  to  !number - 1
  trend(!i) = kotir_f(!i + 1) - kotir(!i)
 next

' Calcular lucro, se a previsão for alcançada
 for  !i      =  1   to  !number - 1
  If  trend(!i) * kotir_d(!i) > 0   then    ' Será que a tendência coincide com aumento? - Yes
   !profit   = !profit + @abs(kotir_d(!i))  ' Lucro acumulado
   !n_profit = !n_profit +1                 ' Negociação do lucro acumulado
   !tek_pr   = 0                            ' Reiniciar as atuais perdas consecutivas em zero
   !tek_prosadka  =   0                     ' Reiniciar o rebaixamento atual em zero
  endif
  If  trend(!i) * kotir_d(!i) <  0   then   ' Será que a tendência coincide com aumento? - Não
   !lost   = !lost + @abs(kotir_d(!i))      ' Perda acumulada
   !n_lost = !n_lost + 1                    ' Negociação da perda acumulada

   !tek_pr = !tek_pr + 1                              ' Aumentar o número de negociaçao das perda atuais
   !tek_prosadka = !tek_prosadka + @abs(kotir_d(!i))  ' Aumentar o rebaixamento atual
  endif

  '  Seleciona as negociações de perdas máximas
  if  !tek_pr > !pr then
   !pr  = !tek_pr
  endif

  ' Seleciona o rebaixamento máxima
  if  !tek_prosadka  > !prosadka  then
   !prosadka  = !tek_prosadka
  endif
 next

'   Bloqueando divisão por zero
 if !lost = 0 then                 ' Sem negociações com perdas
  !profit_factor = 1000
 else
  !profit_factor = !profit / !lost  ' Fator de lucri
 endif 
 
 if !n_lost = 0  then
  !n_p_l = !number      '  se trades perdidos são zero, 
                        '  Negociações com lucro são iguais ao número de observações
 else
  !n_p_l =  !n_profit / !n_lost
 endif

 if !prosadka = 0  then
  !factor_reset = 1000
 else
  !factor_reset = !profit / !prosadka
 endif

'  Criar uma tabela de resultados, se não existir
 if @isobject("tab_profit") = 0    then
  table(3,12)    tab_profit
  tab_profit.title  Previsão um passo à frente após o fim da amostra com rentabilidade maior do que da amostra

' Escrevendo o título de tabela
  tab_profit.setfillcolor(1) yellow 
  tab_profit.setfillcolor(2) yellow
 
' Definir as características da coluna
' Primeira coluna
  setcolwidth(tab_profit,1,15)
  tab_profit(1,1)   = "Início da"
  tab_profit(2,1)   = "Amostra"

' Segunda coluna
  setcolwidth(tab_profit,2,15)
  tab_profit(1,2)   = "Final da"
  tab_profit(2,2)   = "Amostra"

' Terceira coluna
  setcolwidth(tab_profit,3,7)
   tab_profit(1,3)   = "Preço a partir"
  tab_profit(2,3)   = "do final "

' Quarta coluna
  setcolwidth(tab_profit,4,7)
  tab_profit(1,4)   = "O passo"
  tab_profit(2,4)   = "da previsão"

' Quinta coluna
  setcolwidth(tab_profit,5,10)
  tab_profit(1,5)   = "Previsão"
  tab_profit(2,5)   = "Erro"

' Sexta coluna
  setcolwidth(tab_profit,6,8)
  tab_profit(1,6)    =  "Lucro da"
  tab_profit(2,6)    =  "amostra"

' Sétima coluna
  setcolwidth(tab_profit,7,8)
  tab_profit(1,7)    =  "Perda da"
  tab_profit(2,7)    =  "amostra"

' Oitava coluna
  setcolwidth(tab_profit,8,10)
  tab_profit(1,8)   = "Máximo"
  tab_profit(2,8)   = "rebaixamento"

' Nona Coluna
  setcolwidth(tab_profit,9,8)
  tab_profit(1,9)   = "Qtd de"
  tab_profit(2,9)    =  "perda"

' Décima coluna
  setcolwidth(tab_profit,10,7)
  tab_profit(1,10)    =  "P / F em"
  tab_profit(2,10)    =  "pips"

' Décima Primeira coluna
  setcolwidth(tab_profit,11,8)
  tab_profit(1,11)    =  "P / F em"
  tab_profit(2,11)    =  "observações"


' Décima Segunda coluna
  setcolwidth(tab_profit,12,8)
  tab_profit(1,12)   = "Fator de"
  tab_profit(2,12)   = "recuperação"
  tab_profit.setlines(R1C1:R2C12) +o +v 
 endif

 tab_profit.insertrow(3) 1
 tab_profit.setlines(R3C1:R3C12) +a +v +i

' Definir o formato de saída da tabela 
 tab_profit.setformat(R3C1:R3C1)   c.16
 tab_profit.setformat(R3C2:R3C2)   c.16
 tab_profit.setformat(R3C3:R3C3)   f.4
 tab_profit.setformat(R3C4:R3C4)   f.4
 tab_profit.setformat(R3C5:R3C5)   f.4
 tab_profit.setformat(R3C6:R3C6)   f.4
 tab_profit.setformat(R3C7:R3C7)   f.4
 tab_profit.setformat(R3C8:R3C8)   f.4
 tab_profit.setformat(R3C9:R3C9)   f.0
 tab_profit.setformat(R3C10:R3C10) f.2
 tab_profit.setformat(R3C11:R3C11)  f.2
 tab_profit.setformat(R3C12:R3C12) f.2

' Preencher a tabela com os resultados
 tab_profit(3 ,1) = date(1)
 tab_profit(3 ,2) = date(!number - 1)
 tab_profit(3 ,3) = kotir(!number - 1) 
 tab_profit(3 ,4) = kotir_f(!number - 1) 
 tab_profit(3 ,5) = kotir_f_se(!number - 1) 

 tab_profit(3 ,6) =  !profit
 tab_profit(3 ,7) =  !lost
 tab_profit(3 ,8) = !prosadka
 tab_profit(3 ,9) = !pr
 tab_profit(3,10) =  !profit_factor
 tab_profit(3,11) = !n_p_l
 tab_profit(3,12) = !factor_reset


' Salvar a tabela no arquivo de trabalho
 save        work
 show        tab_profit
 
endsub

Os resultados dos simples programas acima em EViews para a equação são os seguintes:


Tabela 3. Resulta no EViews da estimativa de rentabilidade

O resultado é lamentável: perda é três vezes maior do que o lucro. E isto que o valor de erro da previsão otimista foi de 19 pips. O modelo precisa de melhorias, mas não vou fazê-lo aqui no artigo. Vou continuar trabalhando nisso no fórum, juntamente com todos aqueles que desejam participar no desenvolvimento de um modelo rentável.

Até agora, as cotações EURUSD_H1 foram analisadas utilizando as ferramentas EViews.

No entanto, parece ser muito tentador aplicar os resultados de previsão num Expert Advisor no terminal MetaTrader 4.

Vamos agora considerar a troca de dados entre EViews e MetaTrader 4 e, então mais uma vez, analisar os resultados usando um Expert Advisor no terminal MetaTrader 4.


3. Troca de dados entre o EViews e o MetaTrader 4


O Intercâmbio de dados entre EViews e MetaTrader 4 são implementados neste artigo usando os arquivos .txt.

O algoritmo de troca de dados parece ser o seguinte:

  1. Expert Advisor do MetaTrader 4:

    • Gera o arquivo de cotações;
    • Inicia o EViews.
  2. EViews:

    • Começa a operar em resposta a um comando a partir do Expert Advisor;
    • Executa um programa de cálculo de previsão para o arquivo de cotações, quotes.txt, obtido a partir do Expert Advisor;
    • Salva os resultados de previsões no arquivo EViewsForecast.txt.
  3. Expert Advisor do MetaTrader 4:

    • Após a conclusão da geração dos resultados em EViews, lê o arquivo de previsão;
    • Decide sobre entrar ou sair de uma posição.

Algumas palavras sobre a localização dos arquivos.

Os arquivos do terminal MetaTrader 4 são colocados em suas pastas padrão: um Expert Advisor na pasta\expert e um indicador (que não é necessário para o teste) na pasta \expert\indicators. Todos esses estão localizados no diretório terminal. O Expert Advisor fica instalado juntamente com outros Expert Advisors.

Arquivos de troca de dados entre o Expert Advisor e o EViews estão localizados em \expert\files durante a operação do Expert Advisor e na pasta \tester\files quando o Expert Advisor for testado.

O arquivo enviado pelo Expert Advisor para EViews é nomeado quotes.txt independentemente do ativo e timeframe selecionado. Portanto, o Expert Advisor pode ser anexado a qualquer ativo, enquanto o passo previsão deve ser especificado nos parâmetros do Expert Advisor no seu início.

EViews retorna o arquivo chamado EVIEWSFORECAST.txt. O arquivo de trabalho EViews worf.wf1 é colocado no diretório do terminal.

Diretórios especificados nos programas EViews que estão ligados ao artigo, provavelmente não coincidirão com os diretórios que vocês têm disponíveis em seus computadores. Eu instalei estes programas na pasta raiz do disco. Em EViews, você terá que obter um manipulador sobre o diretório padrão ou especificar seus próprios diretórios (eu não uso os diretórios padrão do EViews).


4. MQL4 Expert Advisor

O algoritmo de operação do Expert Advisor é simplificada ao máximo:

  • O Expert Advisor está ligado ao timeframe M1 de qualquer ativo;
  • Um passo da previsão em minutos é especificado nos parâmetros do Expert Advisor. O passo da previsão padrão é de 60 minutos (H1). Ao anexar o Expert Advisor para M1, você terá a oportunidade de visualizar melhor os resultados dos testes, visto que o gráfico de teste pode ser comprimido quando se muda para um timeframe mais longo;
  • Para efeitos de previsão em EViews, O Expert Advisor gera o arquivo quotes.txt com o número de barras (observações), conforme especificado nos parâmetros do Expert Advisor;
  • Se a previsão é maior do que o preço atual, uma posição comprada é aberta;
  • Se a previsão é menor do que o preço atual, uma posição vendida é aberta;
  • O Expert Advisor abre não mais do que uma posição (sem adicionar a uma posição);
  • Independentemente da previsão, ele fecha a posição anterior e abre uma nova. O algoritmo para a abertura das posições coincide com o algoritmo para cálculo do lucro/perda no programa em EViews;
  • O volume da posição a ser aberta é com lote igual a 0.1;
  • O Stop Loss e o Take Profit não são utilizados (eles estão configurados em 100 pips, embora o Expert Advisor tem um código para colocar as paradas em intervalos de erro da previsão);
  • Um gráfico é desenhado mostrando o valor de previsão e duas linhas num intervalo de erro da previsão padrão. Ao exibir o gráfico do testador em timeframes mais curtos daquele que o Expert Advisor foi anexado, tenha em mente que a linha de previsão será deslocada para trás, ou seja, a previsão traçada é a previsão na qual o preço atual deve chegar no final do período.

O Expert Advisor está ligado ao timeframe M1, enquanto no testador, é melhor visualizado no M5.

O código-fonte do Expert Advisor MQL4 ao EURUSD não é fornecido neste artigo, devido ao seu grande volume (cerca de 600 linhas). Ele pode ser encontrado como EvewsMT4.mq4, no arquivo compactado EViews_MetaTrader_4.zip, anexado a este artigo.


5. Resultados dos testes do Expert Advisor

Expert Advisor executado no testador no time frame M1.

Os parâmetros de entrada são mostradas abaixo.



Fig. 9. Parâmetros de entrada do Expert Advisor


Um fragmento do teste é demonstrado a seguir:



Fig. 10. Teste do Expert Advisor no modo de visualização


Os resultados dos testes de Expert Advisor, que usa uma hora (passo) à frente para previsões, são mostrados abaixo.

Relatório do Testador de Estratégia

EvewsMT4

Real (Build 406)

Símbolo

EURUSD (Euro vs US Dollar)

Time Frame

1 Minute (M1) 2011.09.12 00:00 - 2011.09.16 21:59 (2011.09.12 - 2011.09.17)

Modelo

Cada tick (o modo mais preciso com base nos timeframes menores disponíveis)

Parâmetros

StepForecast=60; NumberBars=101; MultSE=2;






Barras no histórico

7948

Ticks modelados

79777

Qualidade da modelagem

25.00%

Erros gráficos incompatíveis

0






Depósito inicial

10000.00





Lucro líquido

-202.10

Lucro bruto

940.72

Perda bruta

-1142.82

Fator de lucro

0.82

Retorno esperado

-1.73



Rebaixamento Absoluto

326.15

Rebaixamento máximo

456.15 (4.50%)

Rebaixamento relativo

4.50% (456.15)


Negociações totais

117

Posições vendidas (ganho em %)

58 (51.72%)

Posições compradas (ganho em %)

59 (45.76%)


Negociações com lucros (% do total)

57 (48.72%)

Negociações com perdas (% do total)

60 (51.28%)

Maior

Negociações com lucros

100.00

Negociações com perdas

-79.00

Média

Negociações com lucros

16.50

Negociações com perdas

-19.05

Máximas

vitórias consecutivas (lucro em dinheiro)

6 (105.00)

derrotas consecutivas (perda de dinheiro)

8 (-162.00)

Máximo

lucro consecutivo (contagem)

166.00 (5)

perda consecutiva (contagem)

-162.00 (8)

Média

vitórias consecutivas

2

perdas consecutivas

2




Nr.

Tempo

Tipo

Ordem

Volume

Preço

S / L

T / P

Lucro

Balanço

1

2011.09.12 01:00

venda

1

0.10

1.3609

1.3711

1.3509


2

2011.09.12 02:00

Fechar

1

0.10

1.3584

1.3711

1.3509

25.00

10025.00


Fig. 11. Resultados dos testes do Expert Advisor


Os resultados são melhores do que os obtidos no EViews.

Note-se que o cálculo de resultados no EViews e o dispositivo de teste é diferente em termos de dados de entrada. EViews utiliza 118 barras e calcula a previsão começando a partir de 3 barras no lado esquerdo, como a previsão um passo à frente se move gradualmente no final do período de tempo, aumenta o número de barras usadas na avaliação da equação de regressão.

O Expert Advisor desloca a janela de 118 barras e calcula a previsão na barra 119, ou seja, a equação de regressão é sempre estimado em 118 barras, o EViews expande a janela dentro da amostra e o Expert Advisor desloca a janela de largura fixa.

O Expert Advisor nos ajuda a produzir uma tabela modelo de estimativa estendida. Enquanto a tabela acima consistiu em uma única linha, agora contém 117 linhas - cada data para a qual a previsão foi produzido.

A tabela é o seguinte:

Inicio
da amostra
Fim
da amostra
Preço a partir
do final
O passo
da previsão
Previsão
erro
Lucro
da amostra
Perda
da amostra
Máximo
Rebaixamento
Qtd
de perdas
P/F em
pips
P/F em observações
Fator de recuperação
12.09.2011 0:00 16.09.2011 21:00 1,3791 1,3788 0,0019 0,0581 0,1531 0,0245 7 0,38 0,67 2,37
12.09.2011 0:00 16.09.2011 21:00 1,3791 1,3788 0,0019 0,0581 0,1531 0,0245 7 0,38 0,67 2,37
09.09.2011 21:00 16.09.2011 20:00 1,3784 1,3793 0,0019 0,0569 0,1619 0,0245 7 0,35 0,64 2,32
09.09.2011 20:00 16.09.2011 19:00 1,3794 1,3796 0,002 0,0596 0,1609 0,0245 7 0,37 0,67 2,43
09.09.2011 19:00 16.09.2011 18:00 1,3783 1,3782 0,0021 0,0642 0,1554 0,0245 7 0,41 0,69 2,62
09.09.2011 18:00 16.09.2011 17:00 1,3783 1,3806 0,002 0,0616 0,1606 0,0245 7 0,38 0,68 2,51
09.09.2011 17:00 16.09.2011 16:00 1,3829 1,3806 0,002 0,0642 0,1586 0,0245 7 0,4 0,71 2,62
09.09.2011 16:00 16.09.2011 15:00 1,3788 1,3793 0,002 0,0626 0,1565 0,0245 7 0,4 0,71 2,56
09.09.2011 15:00 16.09.2011 14:00 1,3798 1,38 0,0021 0,063 0,1633 0,0245 7 0,39 0,73 2,57
09.09.2011 14:00 16.09.2011 13:00 1,3808 1,381 0,0022 0,062 0,1656 0,0318 9 0,37 0,71 1,95
09.09.2011 13:00 16.09.2011 12:00 1,3809 1,3813 0,0021 0,0602 0,1679 0,0318 9 0,36 0,66 1,89
09.09.2011 12:00 16.09.2011 11:00 1,3792 1,3808 0,0021 0,0666 0,1613 0,0245 7 0,41 0,73 2,72
09.09.2011 11:00 16.09.2011 10:00 1,3795 1,3826 0,0021 0,0666 0,167 0,0245 7 0,4 0,73 2,72
09.09.2011 10:00 16.09.2011 9:00 1,3838 1,3847 0,0022 0,0652 0,1668 0,0318 9 0,39 0,71 2,05
09.09.2011 9:00 16.09.2011 8:00 1,3856 1,3854 0,0022 0,0675 0,165 0,0318 9 0,41 0,73 2,12
09.09.2011 8:00 16.09.2011 7:00 1,386 1,3856 0,0022 0,0671 0,1652 0,0318 9 0,41 0,71 2,11
09.09.2011 7:00 16.09.2011 6:00 1,3861 1,3857 0,0022 0,067 0,1663 0,0318 9 0,4 0,68 2,11
09.09.2011 6:00 16.09.2011 5:00 1,3852 1,3855 0,0022 0,0655 0,1681 0,0318 9 0,39 0,63 2,06
09.09.2011 5:00 16.09.2011 4:00 1,3844 1,3851 0,0022 0,0662 0,1674 0,0318 9 0,4 0,66 2,08
09.09.2011 4:00 16.09.2011 3:00 1,3848 1,3869 0,0022 0,0654 0,1683 0,0318 9 0,39 0,68 2,06
09.09.2011 3:00 16.09.2011 2:00 1,3879 1,3875 0,0022 0,0694 0,1624 0,0318 9 0,43 0,73 2,18
09.09.2011 2:00 16.09.2011 1:00 1,3865 1,3879 0,0022 0,0698 0,1634 0,0318 9 0,43 0,71 2,19
09.09.2011 1:00 16.09.2011 0:00 1,3881 1,3883 0,0022 0,0726 0,1604 0,0245 7 0,45 0,76 2,96
09.09.2011 0:00 15.09.2011 23:00 1,3876 1,3882 0,0022 0,0721 0,162 0,0245 7 0,45 0,73 2,94
08.09.2011 23:00 15.09.2011 22:00 1,3885 1,3884 0,0022 0,0718 0,1614 0,0245 7 0,44 0,72 2,93
08.09.2011 22:00 15.09.2011 21:00 1,3888 1,3883 0,0022 0,0737 0,1597 0,0245 7 0,46 0,77 3,01
08.09.2011 21:00 15.09.2011 20:00 1,3885 1,3874 0,0022 0,0729 0,1604 0,0318 9 0,45 0,74 2,29
08.09.2011 20:00 15.09.2011 19:00 1,3867 1,386 0,0022 0,0721 0,1604 0,0318 9 0,45 0,74 2,27
08.09.2011 19:00 15.09.2011 18:00 1,3856 1,3834 0,0022 0,0721 0,1628 0,0318 9 0,44 0,72 2,27
08.09.2011 18:00 15.09.2011 17:00 1,385 1,3861 0,0023 0,0702 0,1651 0,0318 9 0,43 0,72 2,21
08.09.2011 17:00 15.09.2011 16:00 1,3885 1,3824 0,0023 0,0739 0,1638 0,0245 7 0,45 0,72 3,02
08.09.2011 16:00 15.09.2011 15:00 1,3773 1,3784 0,0021 0,0719 0,1556 0,0318 9 0,46 0,72 2,26
08.09.2011 15:00 15.09.2011 14:00 1,3795 1,3794 0,0021 0,0726 0,1537 0,0318 9 0,47 0,72 2,28
08.09.2011 14:00 15.09.2011 13:00 1,3814 1,3792 0,0021 0,0736 0,1564 0,0318 9 0,47 0,74 2,31
08.09.2011 13:00 15.09.2011 12:00 1,3802 1,3764 0,0021 0,0712 0,159 0,0318 9 0,45 0,74 2,24
08.09.2011 12:00 15.09.2011 11:00 1,3769 1,3753 0,0021 0,0719 0,1568 0,0318 9 0,46 0,72 2,26
08.09.2011 11:00 15.09.2011 10:00 1,3765 1,3732 0,0021 0,0721 0,1564 0,0318 9 0,46 0,74 2,27
08.09.2011 10:00 15.09.2011 9:00 1,3722 1,3718 0,0021 0,0716 0,1538 0,0318 9 0,47 0,72 2,25
08.09.2011 8:00 15.09.2011 7:00 1,371 1,3716 0,0021 0,0729 0,1542 0,0318 9 0,47 0,74 2,29
08.09.2011 8:00 15.09.2011 7:00 1,371 1,3716 0,0021 0,0729 0,1542 0,0318 9 0,47 0,74 2,29
08.09.2011 7:00 15.09.2011 6:00 1,3723 1,3727 0,0021 0,0716 0,1547 0,0318 9 0,46 0,72 2,25
08.09.2011 6:00 15.09.2011 5:00 1,3726 1,3725 0,0021 0,0711 0,1564 0,0318 9 0,45 0,69 2,24
08.09.2011 5:00 15.09.2011 4:00 1,3719 1,3731 0,0021 0,0711 0,1563 0,0318 9 0,45 0,69 2,24
08.09.2011 4:00 15.09.2011 3:00 1,374 1,3744 0,0021 0,0713 0,1547 0,0318 9 0,46 0,69 2,24
08.09.2011 3:00 15.09.2011 2:00 1,3748 1,3747 0,0021 0,0705 0,1547 0,0318 9 0,46 0,68 2,22
08.09.2011 2:00 15.09.2011 1:00 1,3743 1,3742 0,0021 0,0715 0,1544 0,0318 9 0,46 0,7 2,25
08.09.2011 1:00 15.09.2011 0:00 1,3738 1,3743 0,0021 0,0714 0,1544 0,0318 9 0,46 0,7 2,25
08.09.2011 0:00 14.09.2011 23:00 1,375 1,3743 0,0021 0,0724 0,1532 0,0318 9 0,47 0,73 2,28
07.09.2011 23:00 14.09.2011 22:00 1,375 1,3736 0,0021 0,0727 0,1532 0,0318 9 0,47 0,74 2,29
07.09.2011 22:00 14.09.2011 21:00 1,3751 1,3735 0,0021 0,0734 0,1532 0,0318 9 0,48 0,74 2,31
07.09.2011 21:00 14.09.2011 20:00 1,3748 1,3716 0,0021 0,0722 0,1555 0,0318 9 0,46 0,72 2,27
07.09.2011 20:00 14.09.2011 19:00 1,3714 1,3712 0,0021 0,0812 0,145 0,0189 6 0,56 0,74 4,3
07.09.2011 19:00 14.09.2011 18:00 1,371 1,3697 0,0021 0,0692 0,1577 0,0318 9 0,44 0,69 2,18
07.09.2011 18:00 14.09.2011 17:00 1,3673 1,369 0,0021 0,0695 0,154 0,0318 9 0,45 0,72 2,19
07.09.2011 17:00 14.09.2011 16:00 1,3687 1,3693 0,0021 0,0695 0,1548 0,0318 9 0,45 0,72 2,19
07.09.2011 16:00 14.09.2011 15:00 1,3704 1,3704 0,0021 0,066 0,1591 0,0318 11 0,41 0,69 2,08
07.09.2011 15:00 14.09.2011 14:00 1,373 1,37 0,002 0,066 0,1577 0,0318 10 0,42 0,69 2,08
07.09.2011 14:00 14.09.2011 13:00 1,3712 1,3681 0,002 0,066 0,1562 0,0318 9 0,42 0,69 2,08
07.09.2011 13:00 14.09.2011 12:00 1,3685 1,3653 0,002 0,0665 0,1534 0,0318 9 0,43 0,74 2,09
07.09.2011 12:00 14.09.2011 11:00 1,3655 1,3646 0,002 0,0673 0,1504 0,0318 9 0,45 0,77 2,12
07.09.2011 11:00 14.09.2011 10:00 1,3656 1,3634 0,002 0,0709 0,15 0,0318 9 0,47 0,77 2,23
07.09.2011 10:00 14.09.2011 9:00 1,3625 1,3625 0,002 0,0725 0,1461 0,0318 9 0,5 0,83 2,28
07.09.2011 9:00 14.09.2011 8:00 1,3631 1,3638 0,002 0,0719 0,1465 0,0318 9 0,49 0,8 2,26
07.09.2011 8:00 14.09.2011 7:00 1,3641 1,3643 0,002 0,0707 0,1481 0,0318 9 0,48 0,77 2,22
07.09.2011 7:00 14.09.2011 6:00 1,3635 1,3648 0,002 0,0724 0,1481 0,0318 9 0,49 0,8 2,28
07.09.2011 6:00 14.09.2011 5:00 1,3647 1,3656 0,002 0,0724 0,1476 0,0318 9 0,49 0,8 2,28
07.09.2011 5:00 14.09.2011 4:00 1,3665 1,3676 0,002 0,0667 0,1536 0,0318 9 0,43 0,72 2,1
07.09.2011 4:00 14.09.2011 3:00 1,3694 1,3683 0,002 0,0675 0,1504 0,0318 9 0,45 0,74 2,12
07.09.2011 3:00 14.09.2011 2:00 1,3682 1,3682 0,002 0,0672 0,1498 0,0318 9 0,45 0,74 2,11
07.09.2011 2:00 14.09.2011 1:00 1,3684 1,3686 0,002 0,067 0,1512 0,0318 9 0,44 0,72 2,11
07.09.2011 1:00 14.09.2011 0:00 1,3679 1,3686 0,002 0,067 0,1514 0,0318 9 0,44 0,72 2,11
07.09.2011 0:00 13.09.2011 23:00 1,3678 1,3691 0,002 0,0679 0,1507 0,0318 9 0,45 0,74 2,14
06.09.2011 23:00 13.09.2011 22:00 1,3692 1,3698 0,002 0,066 0,1517 0,0318 9 0,44 0,69 2,08
06.09.2011 22:00 13.09.2011 21:00 1,3708 1,3705 0,002 0,0652 0,1512 0,0318 9 0,43 0,69 2,05
06.09.2011 21:00 13.09.2011 20:00 1,3719 1,3709 0,002 0,0652 0,1512 0,0318 9 0,43 0,69 2,05
06.09.2011 20:00 13.09.2011 19:00 1,371 1,3691 0,002 0,0652 0,1517 0,0318 9 0,43 0,69 2,05
06.09.2011 19:00 13.09.2011 18:00 1,3677 1,3669 0,002 0,0666 0,1485 0,0318 9 0,45 0,72 2,09
06.09.2011 18:00 13.09.2011 17:00 1,3678 1,3677 0,002 0,0666 0,149 0,0318 9 0,45 0,72 2,09
06.09.2011 17:00 13.09.2011 16:00 1,3698 1,3659 0,002 0,0625 0,1555 0,0318 9 0,4 0,64 1,97
06.09.2011 16:00 13.09.2011 15:00 1,3658 1,3643 0,002 0,065 0,1513 0,0318 9 0,43 0,72 2,04
06.09.2011 15:00 13.09.2011 14:00 1,3665 1,3636 0,002 0,0643 0,1527 0,0318 9 0,42 0,69 2,02
06.09.2011 14:00 13.09.2011 13:00 1,3639 1,3619 0,002 0,0659 0,1552 0,0318 9 0,42 0,74 2,07
06.09.2011 13:00 13.09.2011 12:00 1,3617 1,3628 0,0021 0,0824 0,1432 0,0189 6 0,58 0,8 4,36
06.09.2011 12:00 13.09.2011 11:00 1,3616 1,361 0,0021 0,0824 0,1435 0,0189 6 0,57 0,8 4,36
06.09.2011 11:00 13.09.2011 10:00 1,3582 1,3631 0,002 0,0795 0,1435 0,0189 6 0,55 0,8 4,21
06.09.2011 10:00 13.09.2011 9:00 1,3654 1,3656 0,002 0,077 0,146 0,0189 6 0,53 0,74 4,07
06.09.2011 9:00 13.09.2011 8:00 1,3655 1,3664 0,0021 0,0813 0,1442 0,0189 6 0,56 0,77 4,3
06.09.2011 8:00 13.09.2011 7:00 1,3679 1,3673 0,0022 0,0834 0,1435 0,0189 6 0,58 0,77 4,41
06.09.2011 7:00 13.09.2011 6:00 1,3685 1,3668 0,0022 0,0828 0,1448 0,0189 6 0,57 0,74 4,38
06.09.2011 6:00 13.09.2011 5:00 1,3676 1,3669 0,0022 0,0879 0,1406 0,0189 6 0,63 0,85 4,65
06.09.2011 5:00 13.09.2011 4:00 1,3669 1,3653 0,0022 0,0821 0,1458 0,0189 6 0,56 0,8 4,34
06.09.2011 4:00 13.09.2011 3:00 1,3635 1,3639 0,0022 0,0821 0,1428 0,0189 6 0,57 0,8 4,34
06.09.2011 3:00 13.09.2011 2:00 1,3637 1,3646 0,0022 0,0821 0,1428 0,0189 6 0,57 0,8 4,34
06.09.2011 2:00 13.09.2011 1:00 1,3657 1,364 0,0022 0,0825 0,1407 0,0189 6 0,59 0,8 4,37
06.09.2011 1:00 13.09.2011 0:00 1,366 1,3639 0,0022 0,085 0,1384 0,0141 6 0,61 0,83 6,03
06.09.2011 0:00 12.09.2011 23:00 1,3678 1,3655 0,0022 0,083 0,1416 0,0141 6 0,59 0,8 5,89
05.09.2011 23:00 12.09.2011 22:00 1,366 1,3613 0,0022 0,0806 0,1424 0,0123 6 0,57 0,8 6,55
05.09.2011 22:00 12.09.2011 21:00 1,3572 1,3585 0,002 0,0731 0,1414 0,0152 6 0,52 0,77 4,81
05.09.2011 21:00 12.09.2011 20:00 1,3576 1,3601 0,002 0,0714 0,1432 0,0152 6 0,5 0,74 4,7
05.09.2011 20:00 12.09.2011 19:00 1,3607 1,3637 0,0021 0,0712 0,1406 0,0129 6 0,51 0,74 5,52
05.09.2011 19:00 12.09.2011 18:00 1,3632 1,3619 0,0021 0,0712 0,1405 0,0129 6 0,51 0,74 5,52
05.09.2011 18:00 12.09.2011 17:00 1,3609 1,3641 0,0021 0,073 0,1378 0,0129 6 0,53 0,77 5,66
05.09.2011 17:00 12.09.2011 16:00 1,3684 1,3659 0,002 0,0713 0,1334 0,0083 6 0,53 0,74 8,59
05.09.2011 16:00 12.09.2011 15:00 1,3665 1,3636 0,002 0,0727 0,1343 0,0083 6 0,54 0,77 8,76
05.09.2011 15:00 12.09.2011 14:00 1,363 1,3601 0,002 0,072 0,1348 0,0083 6 0,53 0,77 8,67
05.09.2011 14:00 12.09.2011 13:00 1,3603 1,3594 0,002 0,0752 0,1304 0,0083 6 0,58 0,83 9,06
05.09.2011 13:00 12.09.2011 12:00 1,3623 1,3589 0,002 0,0742 0,1304 0,0083 6 0,57 0,83 8,94
05.09.2011 12:00 12.09.2011 11:00 1,3597 1,3561 0,0019 0,0737 0,1291 0,0083 6 0,57 0,8 8,88
05.09.2011 11:00 12.09.2011 10:00 1,3561 1,3551 0,0019 0,0729 0,1275 0,0083 6 0,57 0,8 8,78
05.09.2011 10:00 12.09.2011 9:00 1,3556 1,3552 0,002 0,072 0,1283 0,0083 6 0,56 0,77 8,67
05.09.2011 9:00 12.09.2011 8:00 1,3536 1,3532 0,002 0,072 0,1271 0,0083 6 0,57 0,77 8,67
05.09.2011 8:00 12.09.2011 7:00 1,3519 1,3554 0,0019 0,0703 0,1288 0,0083 6 0,55 0,74 8,47
05.09.2011 7:00 12.09.2011 6:00 1,3583 1,3579 0,0019 0,072 0,1224 0,0083 6 0,59 0,77 8,67
05.09.2011 6:00 12.09.2011 5:00 1,3591 1,3582 0,0019 0,0715 0,1224 0,0083 6 0,58 0,77 8,61
05.09.2011 5:00 12.09.2011 4:00 1,3593 1,3589 0,0019 0,0713 0,1224 0,0083 6 0,58 0,75 8,59
05.09.2011 3:00 12.09.2011 2:00 1,3583 1,361 0,0019 0,0746 0,1192 0,0083 6 0,63 0,78 8,99


Tabela 4. Testando os resultados no EViews


O quadro sugere que o nosso modelo (tão primitivo e inacabado) é praticamente impossível. Ele precisa de melhorias.

Vamos traçar os gráficos das duas colunas: P/F em pips e P/F em observações.


Fig. 12. Modelo gráfico de fator de lucro sobre uma amostra de 118 barras


Esta tabela representa a dependência dos fatores de lucro ao número de barras analisadas. Há uma óbvia tendência de alta .

Vamos verificar os resultados da amostra de 238 barras. O gráfico desenhado é o seguinte:


Fig. 13. Modelo gráfico de fator de lucro sobre uma amostra de 236 barras


O fato das tabelas de fator de lucro serem diferente sugere que o modelo é instável.


Conclusão

O artigo tem lidado com o uso das previsões um passo à frente produzidas pelo programa EViews para o desenvolvimento do Expert Advisor no MetaTrader 4.

O resultado negativo que temos obtido indica que a construção de um modelo no EViews é uma tarefa bastante complicada, no entanto parece ser mais potencialmente produtivo do que o desenvolvimento intuitivo de Expert Advisors.


Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/1345

Arquivos anexados |
EViewsMT4.zip (10.25 KB)
Técnica de Teste (Otimização) e Alguns Critérios para Seleção dos Parâmetros do Expert Advisor Técnica de Teste (Otimização) e Alguns Critérios para Seleção dos Parâmetros do Expert Advisor
Não existe problemas para encontrar o Santo Graal nos testes, o mais difícil é livrar-se dele. Este artigo aborda a seleção do parâmetros operacionais do Expert Advisor com o processamento de grupo automatizado da otimização, resultados dos testes quanto a utilização máxima da capacidade de desempenho de terminal e a carga mínima do usuário final.
Uso prático do Servidor Virtual Privado (VPS) para trading automatizado Uso prático do Servidor Virtual Privado (VPS) para trading automatizado
Trading automatizado utilizando VPS. Este artigo destina-se excepcionalmente para o operadores automatizados e suportes de trading automatizado.
A Regra de Ouro dos Traders A Regra de Ouro dos Traders
Para obter lucros baseados em expectativas elevadas, precisamos entender os três princípios básicos de uma boa negociação: 1) conhecer o seu risco ao entrar no mercado; 2) cortar suas perdas mais cedo e executar o seu lucro; 3) conhecer a expectativa do seu sistema - testar e ajustar regularmente. Este artigo fornece um código de programa para saída das posições abertas de acordo com o segundo princípio de ouro, pois permite tomar o lucro no mais alto nível possível.
Identificando Setups de Negociação pelo Suporte, Resistência e Ação do Preço Identificando Setups de Negociação pelo Suporte, Resistência e Ação do Preço
Este artigo mostra como a ação do preço (Price Action) e a monitorização dos níveis de suporte e resistência podem ser usados para a entrada no mercado no timing correto. Discute-se um sistema de negociação que combina eficazmente os dois para a determinação de setups de negociação. O código em MQL4 correspondente é explicado, podendo ser utilizado nos EAs baseados nestes conceitos de negociação.