English Русский 中文 Español Deutsch 日本語
Pesquisa de Recorrências Estatísticas das Direções das Velas

Pesquisa de Recorrências Estatísticas das Direções das Velas

MetaTrader 4Exemplos | 26 outubro 2015, 11:32
1 227 1
Игорь
Игорь

Introdução

Olá!

Gostaria de chamar a atenção na seguinte ideia, é possível prever o comportamento do mercado próximo curto intervalo de tempo, com base em tendências recorrentes das direções das velas em momentos específicos ao longo do dia? Isto é, se tal ocorrência é encontrada primeiramente.

Basicamente, se descobríssemos que ao longo dos últimos dias, num momento específico, as velas sempre têm uma mesma direção, então isso por si só já seria interessante. Afinal qualquer análise técnica é essencialmente impor limites para encontrar relações estatisticamente significativas.

Uma mudança repetitiva na direção das velas indica uma mudança na tendência.

Vamos primeiro concordar com alguns termos. Embora esses termos sejam comumente usados, vamos passar por eles mais uma vez para evitar mal-entendidos. Se a abertura do preço da vela é menor que o fechamento do preço - então é uma vela de alta (pintada de branco), acontecendo o contrário, então é uma vela de baixa (pintada de preto). Se o preço de abertura é igual ao preço de fechamento, esta vela será chamado de neutra (meu próprio termo). Se o preço de cotação declina ao longo de um período de tempo, então nós temos uma tendência de baixa para este período, acontecendo o contrário, então nós temos uma tendência de alta.

Vamos olhar para o gráfico:

Figura 1. Gráfico de velas de timeframe H4,USDJPY, 20.11.2009 a 08.12.2009

Como visto na Figura 1, se a tendência é de baixa, então as velas que compõem esta tendência são na sua maioria de baixa (pretas), sendo tendência de alta, então as velas também são de alta (brancas). O movimento também pode ser lateral, sem tendência, portanto as velas mudam constantemente sua direção.

Na verdade, o nosso problema - é determinar se existem quaisquer recorrências nas velas e como elas reagem em relação às mudanças na tendência .

Claro, tudo isso pode ser feito manualmente, por exemplo podemos pegar um gráfico de timeframe H1 ou qualquer outro tipo de gráfico, escrever as instruções da vela num pedaço de papel e compará-las umas com as outras por algum tempo, será trabalhoso, mas pode ser feito. Como nós temos uma ferramenta maravilhosa da linguagem de programação chamada MQL4, podemos facilmente criar um Expert Advisor para calcular o que precisamos e nos contar tudo sobre os resultados destes cálculos.

Então, nós precisamos do seguinte:

  • Primeiramente, temos de determinar um período de tempo que nos interessa. É improvável que exista uma probabilidade de 100% das velas serem de alta no gráfico M15 todos os dias às 7:15 nos últimos anos, embora possamos testar isso, pelo menos no período dos últimos seis meses, a fim de verificar se existe uma pequena chance disto acontecer.
  • Em segundo lugar, seria bom saber quantas velas serão usado durante o período da análise, quantas foram de baixa e quantas foram de alta. Se durante os últimos 10 dias, as velas de timeframe H1 que abriram às 18:00 - 6 vezes foram de alta e 4 vezes foram baixa, então você deve concordar que é improvável esta informação servir para algo significativo. Agora, se eles foram 9 vezes de baixa entre as 10 velas, então esta informação pode ser levada em conta, por exemplo, para decidir em que direção abrir uma ordem hoje às 18:00.
  • Em terceiro lugar, também seria bom saber qual a distância média entre a abertura e o fechamento dos preços das velas, bem como a sua altura média durante o período analisado.
  • Finalmente, devemos ter a capacidade de realizar nossos cálculos em diferentes intervalos de tempo.

Tudo isto pode ser definido nas variáveis externas do script proposto - script_Statistics_candles .

Vejamos a seguinte imagem.


Figura 2. Parâmetros de entrada do script

A Figura 2 mostra os parâmetros de entrada que podem ser alterados no script.

Open_session - Inciando o tempo da sessão de estudo

Close_session - Finalizando o tempo da sessão de estudo

Period_time - Período de tempo no qual o script considera a probabilidade de recorrência da vela. Pode ter um dos seguintes valores - 5, 15, 30, 60, 240. Por favor, lembre-se que estes e nenhum outro são os valores admissíveis. Por conseguinte, estes valores correspondem a períodos de gráficos - 5, 15, 30 minutos, 1 hora e 4 horas.

Abaixo está o código do script. Eu adicionei muitos comentários no código, a final eu mesmo estou no processo de estudos sobre a linguagem MQL4 e eu repeti várias vezes nos Expert Advisors para aprender. Não é nenhum segredo que qualquer artigo deste site tem um valor pedagógico, além de outras coisas, para aqueles que estão dando seus primeiros passos no uso da linguagem de programação MQL4.

//+------------------------------------------------------------------+
//|                                 script_Statistics_candles_V2.mq4 |
//|                              Copyright © 2009, Igor Aleksandrov  |
//|                                                sydiya@rambler.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Igor Aleksandrov"
#property link      "sydiya@rambler.ru"
#property show_inputs
//---- Parâmetros de entrada

extern string  Open_session ="2009.11.20";   //Data da abertura da sessão estudada 
extern string  Close_session = "2009.11.26"; //Data do encerramento da sessão estudada
extern int     Period_time = 60;             //Período do gráfico em que o Expert Advisor estará trabalhando,
                                             //podem ser usados os seguintes valores: 5;15;30;60;240
//-----------------------------------------------------------------
int 
    Day_bars_i;                      //Número para i barras na sessão
double
    Mas_vira_maina[24,60]={0,0 0,0}, //Declara um array para barras com um preço igual abertura e fechamento
    Mas_vira[24,60]={0,0 0,0},       //Declara um array para cálculo das barras de alta
    Mas_maina[24,60]={0,0 0,0},      //Declara um array para cálculo das barras de baixa
    Mas_kol_vo[24,60]={0,0 0,0},     //Declara um array para cálculo do número das barras contadas
    Mas_profit[24,60]={0,0 0.0},     //Declara um array para cálculo do lucro pela abertura-fechamento
    Mas_H_L[24,60]={0,0 0.0};        //Declara um array para cálculo do lucro pela máxima-mínima

string Symb;                         //Nome do instrumento financeiro em que o script é executado
bool New_day = false;                //Flag do novo dia
//--------------------------------------------------------------------

//----------------------------Iniciando-------------------------------

int start()
  {                                  //-chave da abertura geral
  
  Print("----------------------------------------------------------------------");
  Print("  Results of the script's work- Statistics_candles- ",TimeToStr(TimeCurrent()) );
  Print("  Calculations completed from ",Open_session," to ",Close_session);

//------------------------Declarar as variáveis ----------------------
  int  
       Hour_open_bars,                  //Número de horas para abrir i barra na sessão
       Minute_open_bars,                //Número de minutos para abrir i barra na sessão
       Shift_open,                      //Número da barra com tempo de abertura da Open_session               
       Shift_close,                     //Número da barra com tempo de fechamento da Close_session
       Shift_open_close,                //Número de barras na sessão
       Total_day=0;                     //Contador dos dias      
                    
  double Open_bars_price,               //Preço de abertura da i barra da sessão
         Close_bars_price,              //Preço de fechamento da i barra da sessão
         Low_bars_price,                //Preço mínimo da i barra da sessão
         High_bars_price,               //Preço máximo da i barra da sessão
         Total_bars=0;                  //Número de barras estudadas no início do script
         
  datetime Time_open_session,           //Horário de abertura da primeira barra da sessão estudada 
                                        //no formato data hora          
           Time_close_session,          //Horário de abertura da última barra para estudar 
                                        //sessão no formato data hora 
           Time_open_bars;              //Horário de abertura de barras em formato data hora 
                       
  bool  Session_vira=false,             //Flag da sessão de alta
        Session_maina=false;            //Flag da sessão de baixa 
//------------------------Fim da declaração das variáveis ------------------
                   
  Symb=Symbol();                        //Nome do instrumento financeiro
  
  //Solicitar a hora de início da sessão de estudo no formato data hora 
  Time_open_session= StrToTime(Open_session); 

  //Solicitar a hora da finalização da sessão de estudo no formato data hora 
  Time_close_session= StrToTime(Close_session); 

  //Solicitar o número do barra da abertura da sessão
  Shift_open=iBarShift( Symb,Period_time, Time_open_session,false);

  //Solicitar o número da barra do fechamento da sessão 
  Shift_close=iBarShift( Symb,Period_time, Time_close_session,false);

//---------------------------------------------------------------------  
for(int i = Shift_open; i>=Shift_close; i --)        //Ciclo de barras pesquisadas na sessão
{ //Chave de abertura da pesquisa do ciclo de barras
    Total_bars++;                                    //Contador do número de barras estudadas
    static int New_day_shift=0;                      //Número do dia para começar o Expert Advisor

    //Requerer a abertura da i barra na sessão
    Time_open_bars=iTime( Symb,Period_time,Shift_open-Total_bars);

    //Requerer a hora de abertura da i barra na sessão
    Hour_open_bars=TimeHour(Time_open_bars); 

    //Requerer o minuto de abertura da i barra na sessão 
    Minute_open_bars=TimeMinute(Time_open_bars);

    //Rquerer o número de dias para i barra na sessão
    Day_bars_i=TimeDayOfYear( Time_open_bars);
    
    //Se o número da primeiro barra na sessão não é igual a barra i-th do dia, então
    if(New_day_shift!=Day_bars_i)  
      {                                    
         New_day = true;               //flag para o novo dia é verdadeiro
         New_day_shift=Day_bars_i;     //e atribua o número ao número da i barra 
         Total_day++;                  //Aumenta o contador de dia por um
      }  
      else                             //caso contrário,
      {
      New_day = false;                 //Flag para o novo dia é falso
      }      
       //Requerer o preço de abertura da barra i-th
       Open_bars_price= iOpen( Symb, Period_time,i);

       //Requerer o preço de fechamento da barra i-th
       Close_bars_price=iClose( Symb, Period_time,i);

       //Requerer a mínima do preço da barra i-th 
       Low_bars_price=iLow( Symb, Period_time,i);

       //Requerer a máxima do preço da barra i-th
       High_bars_price=iHigh( Symb, Period_time,i);
        
       //Se o preço de abertura da barra é menor do que o preço de fechamento, então a a sessão é de alta
       if(Open_bars_price<Close_bars_price) 
          {                                      
          //Aumento por um dos valores do elemento correspondido
          Mas_vira[Hour_open_bars,Minute_open_bars]=Mas_vira[Hour_open_bars,Minute_open_bars]+1;

          //Aumento por um dos valores do elemento correspondido
          Mas_kol_vo[Hour_open_bars,Minute_open_bars]=Mas_kol_vo[Hour_open_bars,Minute_open_bars]+1; 

          //Salva a diferença entre a abertura e o fechamento do preço em pontos
          Mas_profit[Hour_open_bars,Minute_open_bars]=
          Mas_profit[Hour_open_bars,Minute_open_bars]+(Close_bars_price-Open_bars_price)/Point;

          //Salva a diferença entre a máxima e a mínima do preço em pontos
          Mas_H_L[Hour_open_bars,Minute_open_bars]=
          Mas_H_L[Hour_open_bars,Minute_open_bars]+(High_bars_price-Low_bars_price)/Point;
          }          

       //Se a abertura do preço da barra é superior ao fechamento do preço, então a sessão é de baixa
       if(Open_bars_price>Close_bars_price)
          {
           //Aumento por um dos valores do elemento correspondido
           Mas_maina[Hour_open_bars,Minute_open_bars]=Mas_maina[Hour_open_bars,Minute_open_bars]+1;

           //Aumento por um dos valores do elemento correspondido
           Mas_kol_vo[Hour_open_bars,Minute_open_bars]=Mas_kol_vo[Hour_open_bars,Minute_open_bars]+1; 

          //Salva a diferença entre a abertura e o fechamento do preço em pontos
           Mas_profit[Hour_open_bars,Minute_open_bars]=
           Mas_profit[Hour_open_bars,Minute_open_bars]+(Open_bars_price-Close_bars_price)/Point;

          //Salva a diferença entre a máxima e a mínima do preço em pontos
           Mas_H_L[Hour_open_bars,Minute_open_bars]=
           Mas_H_L[Hour_open_bars,Minute_open_bars]+(High_bars_price-Low_bars_price)/Point;
          }

        //Se a abertura do preço é igual ao fechamento do preço, então sessão é indefinida (neutra)
        if(Open_bars_price==Close_bars_price)
          {
           //Aumento por um dos elementos do array correspondente
           Mas_vira_maina[Hour_open_bars,Minute_open_bars]=Mas_vira_maina[Hour_open_bars,Minute_open_bars]+1;

           //Aumento por um dos elementos do array correspondente
           Mas_kol_vo[Hour_open_bars,Minute_open_bars]=Mas_kol_vo[Hour_open_bars,Minute_open_bars]+1; 
           
           //Deixe o valor do array como ele é
           Mas_profit[Hour_open_bars,Minute_open_bars]=
           Mas_profit[Hour_open_bars,Minute_open_bars]+0;

           //Salva a diferença entre as máximas e as mínimas dos preços das barras em pontos
           Mas_H_L[Hour_open_bars,Minute_open_bars]=
           Mas_H_L[Hour_open_bars,Minute_open_bars]+(High_bars_price-Low_bars_price)/Point;
          }                                                                          
      
} //Chave de fechamento do do ciclo de pesquisa da barra
//--------------------------Imprimir as informações do Jornal Expert Advisor-------------------

Print("Processed - ",Total_day," days; ",Total_bars," bars, period ",Period_time," minutes");

for (int h=0; h<=23; h++) //Ciclo em horas
{
  for (int m=0; m<=60; m++) //Ciclo em minutos
   {
    if (Mas_kol_vo[h,m]!=0) //Se o valor do array não é igual a zero, então continua a contagem
    {     
  Print("For the period there are ",Mas_kol_vo[h,m],
       " bars with the time of the opening ",h,":",m,
       " .Bullish- ",Mas_vira[h,m],
       ".Bearish- ",Mas_maina[h,m],
       ".Equal - ",Mas_vira_maina[h,m]);
  Print("For the bars with the opening time ",h,":",m,
       " ,average distance between the Open-Close prices - ",Mas_profit[h,m]/Mas_kol_vo[h,m],
       " points. Between the High-Low prices - ",Mas_H_L[h,m]/Mas_kol_vo[h,m]," points.");   
     }
           Mas_vira_maina[h,m]=0;  //ajustado para zero
           Mas_vira[h,m]=0;        //ajustado para zero
           Mas_maina[h,m]=0;       //ajustado para zero
           Mas_kol_vo[h,m]=0;      //ajustado para zero
           Mas_profit[h,m]=0;      //ajustado para zero
           Mas_H_L[h,m]=0;         //ajustado para zero
   } //Fim do ciclo de minuto
} //Fim do ciclo de horas
             
Print("-------------- Script completed the work --------------------");

   return(0);    
  }                                        //-chave de fechamento geral

Como você pode ver, eu anuncei seis arrays a nível global sob cálculo.

double    
Mas_vira_maina[24,60]={0,0 0,0}, //Declara o array da barra com um preço igual da abertura-fechamento
Mas_vira[24,60]={0,0 0,0},       //Declara o array para calcular as barras de alta
Mas_maina[24,60]={0,0 0,0},      //Declara o array para calcular as barras de baixa
Mas_kol_vo[24,60]={0,0 0,0},     //Declara o array para o cálculo do número de barras contadas
Mas_profit[24,60]={0,0 0.0},     //Declara o array para o cálculo do lucro para abertura-fechamento
Mas_H_L[24,60]={0,0 0.0};        //Declara o array para o cálculo do lucro para máxima-mínima

Dentro do buffer Mas_kol_vo vamos registrar o número de barras contadas. Isso é necessário por quê? Parece que os valores dos arrays das células para abertura-fechamento e para máxima-mínima poderia ser dividido pelo número de dias contados, especialmente porque há um contador no código.- Total_day , mas no processo de trabalho no script, fui confrontado com a falta de algumas barras no histórico, então os resultados foram ficando bastantes interessantes. Por exemplo, a altura obtida para algumas barras foram completamente irreais.

Quais os arrays restantes são necessários para estar claro a partir dos comentários?

Verificando a repetição das barras com diferentes direções da tendência. Para fazer isso vamos pegar o gráfico do USDJPY, mostrado na Figura 1. Como podemos ver, a partir de 20.11.2009 até 26.11.2009, o gráfico tem uma direção de baixa, a partir de 26.11.2009 até 02.12.2009 tem uma tendência lateral e de 2.12.2009 a 12.08.2009 tem uma tendência de alta.

Vamos verificar se há velas repetidas durante este período, havendo vamos descobrir a direção das suas alterações.

Definir o script para o gráfico H1. Para aqueles que não sabem como isso é feito, vou dar uma descrição mais detalhada. O script, script_Statistics_candles_V2.mq4, é baixado dentro da pasta \Program Files\TerminalName\expert\scripts. Copiar. O script aparece no canto inferior esquerdo da janela "Navegador". Parece com este:


Figura 3. Janela do Navegador

Se você arrastar o script com o mouse a partir desta janela para a janela do terminal, você verá uma janela de propriedades - Fig 2. Especifique a data inicial e final para o cálculo.

A fim de compreender a lógica das nossas ações, por favor considere o seguinte: Imagine que a primeira coisa que você faz na parte da manhã, após levantar da cama, é executar este script. Em seguida, você insere os resultados do seu trabalho numa tabela, a exemplo do que é visualizado abaixo com o a Tabela 1. Sua tarefa é tentar entender, com base nos resultados do script, o que acontecerá no mercado no dia seguinte ou no próximo.

Digamos que hoje é 26 de novembro de 2009. Você executa o script e está interessado no que as estatísticas das velas têm a dizer referente a 6 dias atrás desse mês. Você define as propriedades do script para: Open_session - 2009.11.20 (seis dias) Close_session - 2009.11.26 (ou seja, hoje), qualquer período de tempo pode ser usado para o cálculo, eu vou usar o gráfico H1, ou seja, Period_time = 60. Iremos realizar este processo numa base diária, aumentando o início e o fim do script em um dia de cada vez.

Nós vamos fazer isso com base em dados históricos.

Clique no botão "OK" das propriedades, na pasta Expert Advisors, no arquivo Log (de registro), consulte a seguinte entrada: (o registro vai estar em inglês no terminal, aqui nós traduzimos)

15:33:52 script_Statistics_candles_V2 EURUSD,H1: carregado com êxito
15:33:53 script_Statistics_candles_V2 EURUSD,H1 inputs: Open_session="2009.11.20"; Close_session="2009.11.26"; Period_time=60;
15:33:53 script_Statistics_candles_V2 EURUSD,H1: ----------------------------------------------------------------------
( 15:33:53 script_Statistics_candles_V2 EURUSD,H1: Os resultados do trabalho do script Statistics_candles- 14:32
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Cálculos concluídos a partir de 20.11.2009 a 26.11.2009
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Processado - 5 dias; 95 barras, período de 60 minutos
15:33:53 script_Statistics_candles_V2 EURUSD,H1: No período existem 3 barras com tempo de abertura 0:0. De Alta - 1. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 0:0, a distância média entre as aberturas/fechamentos dos preços - 5.6667 pontos. Entre as Máximas-Mínimas dos preços - 12 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 5 barras com tempo de abertura 1:0. De Alta - 2. De Baixa - 2. Neutro - 1
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 1:0, a distância média entre as aberturas/fechamentos dos preços- 4,2 pontos. Entre as Máximas-Mínimas dos preços - 11.8 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 2:0. De Alta - 2. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 2:0, a distância média entre as aberturas/fechamentos dos preços - 7 pontos. Entre as Máximas-Mínimas dos preços - 16.25 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 3:0. De Alta - 2. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 3:0, a distância média entre os as aberturas/fechamentos dos preços - 11,5 pontos. Entre as Máximas-Mínimas dos preços - 25.25 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 4:0. De Alta - 2. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 4:0, a distância média entre as aberturas/fechamentos dos preços - 12.25 pontos. Entre as Máximas-Mínimas dos preços - 21 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 5:0. De Alta - 3. De Baixa - 1. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 5:0, a distância média entre as aberturas/fechamentos dos preços - 9,25 pontos. Entre as Máximas-Mínimas dos preços - 17.75 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 6:0. De Alta - 3. De Baixa - 1 Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 6:0, a distância média entre as aberturas/fechamentos dos preços - 13,5 pontos. Entre as Máximas-Mínimas dos preços - 22 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 7:0. De Alta - 4. De Baixa - 0. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 7:0, a distância média entre as aberturas/fechamentos dos preços - 5.75 pontos. Entre as Máximas-Mínimas dos preços - 15.25 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 8:0. De Alta - 1. De Baixa - 3. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 8:0, a distância média entre as aberturas/fechamentos dos preços - 8.25 pontos. Entre as Máximas-Mínimas dos preços - 22.75 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 9:0. De Alta - 1. De Baixa - 3. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 9:0, a distância média entre as aberturas/fechamentos dos preços - 10.75 pontos. Entre as Máximas-Mínimas dos preços - 22 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 10:0. De Alta - 2. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 10:0, a distância média as aberturas/fechamentos dos preços - 12.75 pontos. Entre as Máximas-Mínimas dos preços - 34 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 11:0. De Alta - 3. De Baixa - 1. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 11:0, a distância média entre as aberturas/fechamentos dos preços - 11,5 pontos. Entre as Máximas-Mínimas dos preços - 26.75 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 12:0. De Alta - 3. De Baixa - 1. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 12:0, a distância média entre as aberturas/fechamentos dos preços - 20.75 pontos. Entre as Máximas-Mínimas dos preços - 24.5 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 13:0. De Alta - 3. De Baixa - 1. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 13:0, a distância média entre as aberturas/fechamentos dos preços - 7 pontos. Entre as Máximas-Mínimas dos preços - 18.5 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 14:0. De Alta - 2. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 14:0, a distância média entre as aberturas/fechamentos dos preços - 18.25 pontos. Entre as Máximas-Mínimas dos preços - 31.75 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 15:0. De Alta - 3. De Baixa - 1. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 15:0, a distância média entre as aberturas/fechamentos dos preços - 21.25 pontos. Entre as Máximas-Mínimas dos preços - 34.25 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 16:0. De Alta - 2. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 16:0, a distância média entre as aberturas/fechamentos dos preços - 7 pontos. Entre as Máximas-Mínimas dos preços - 23.75 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 17:0. De Alta - 2. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 14:0, a distância média entre as aberturas/fechamentos dos preços - 12.25 pontos. Entre as Máximas-Mínimas dos preços - 31.75 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 18:0. De Alta - 0. De Baixa - 4. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 18: 0, a distância média entre as aberturas/fechamentos dos preços - 6,75 pontos. Entre as Máximas-Mínimas dos preços - 31.75 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 19:0. De Alta - 2. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 19:0, a distância média entre as aberturas/fechamentos dos preços - 19.25 pontos. Entre as Máximas-Mínimas dos preços - 28.25 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 20:0. De Alta - 2. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 20:0, a distância média entre as aberturas/fechamentos dos preços - 11.75 pontos. Entre as Máximas-Mínimas dos preços - 21.75 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 21:0. De Alta - 3. De Baixa - 1. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 21:0, a distância média entre as aberturas/fechamentos dos preços - 14 pontos. Entre as Máximas-Mínimas dos preços - 31.75 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 4 barras com tempo de abertura 22:0. De Alta - 3. De Baixa - 1. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 22:0, a distância média entre as aberturas/fechamentos dos preços - 13.25 pontos. Entre as Máximas-Mínimas dos preços - 26 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para o período existem 3 barras com tempo de abertura 23:0. De Alta - 1. De Baixa - 2. Neutro - 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: Para as barras com o tempo de abertura 23:0, a distância média entre as aberturas/fechamentos dos preços - 7.6667 pontos. Entre as Máximas-Mínimas dos preços - 15.6667 pontos.
15:33:53 script_Statistics_candles_V2 EURUSD,H1: -------------- Trabalho do Script concluído --------------------
15:33:53 script_Statistics_candles_V2 EURUSD,H1: razão UNINIT 0
15:33:53 script_Statistics_candles_V2 EURUSD,H1: removido

Introduzir os resultados do trabalho na tabela. Vamos concordar para inserir o número de barras de alta na coluna "B", o número de barras de baixa na coluna "M", e não entrar com o número de "não" nas barras da tabela.

Hora de Abertura 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Tipo de Barra-
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
M
B
11.20-11.26
3 1 2 1 2 2 2 2 4 0 2 2 2 1 3 1 2 2 3 0 2 2 1 3 3 1 2 2 2 1 2 2 3 0 1 3 2 2 2 2 2 2 3 1 3 1 2 1
11.21-11.27
4 1 2 1 1 3 2 2 3 1 2 2 3 0 3 1 2 2 2 1 3 1 1 3 4 0 2 2 2 1 3 1 4 0 2 2 2 2 2 2 2 2 4 0 3 1 2 1
11.22-11.28
5 1 2 1 2 3 2 3 4 1 3 2 3 1 3 2 3 2 3 1 3 2 1 4 4 1 3 2 2 2 4 1 4 1 2 3 3 2 2
3 2 5 0 3 2 3 1
11.23-11.29
4 1 2 1 2 3 2 3 4 1 3 2 3 1 3 2 3 2 3 1 3 2 1 4 4 1 3 2 2 2 4 1 4 1 2 3 3 2 2 3 3 2 5 0 3 2 3 1
11.24-11.30
3 1 2 1 2 2 2 2 3 1 2 2 2 1 2 2 2 2 3 1 2 2 1 3 3 1 2 2 2 2 4 0 3 1 2 2 3 1 2 2 2 2 4 0 2 2 2 1
11.25-12.01
3 1 2 0 1 3 1 3 3 1 3 1 3 1 2 2 2 2 3 1 2 2 2 2 2 2 3 1 1 3 3 1 2 2 2 2 3 1 3 1 1 3 4 0 2 2 2 2
11.26-12.02
3 0 2 1 2 2 0 4 2 2 3 1 2 2 2 2 3 1 3 1 2 2 2 2 2 2 4 0 0 4 2 2 2 2 2 2 4 0 3 1 2 2 3 0 3 1 3 1
11.27-12.03
3 0 2 2 3 1 0 4 2 2 2 2 1 3 2 2 4 0 3 1 2 2 2 2 1 3 3 1 1 3 1 3 2 2 1 3 3 1 3 1 2 2 2 0 0 4 2 2
11.28-12.04
3 1 1 3 2 2 0 4 1 3 1 3 2 2 3 1 3 1 3 1 2 2 2 2 1 1 3 1 2 2 0 4 2 2 1 3 3 1 3 1 1 2 1 1 1 3 2 2
11.29-12.05
3 2 1 3 3 2 1 4 1 4 1 4 3 2 4 1 3 2 4 1 3 2 2 3 1 4 3 2 2 3 1 4 2 3 1 4 3 2 4 1 1 3 1 2 1 4 3 2
11.30-12.06
2 2 1 3 3 2 1 4 1 4 1 4 3 2 4 1 3 2 4 1 3 2 2 3 4 1 3 2 2 3 1 4 2 3 1 4 3 2 4 1 1 3 1 2 1 4 3 2
12.01-12.07
2 1 4 0 1 3 3 1 4 0 4 0 2 2 3 1 2 2 3 1 2 2 1 3 1 3 2 2 2 2 1 3 2 2 1 3 2 2 3 1 1 2 0 2 1 3 3 1
12.02-12.08
2 2 1 4 3 1 1 3 1 3 1 3 3 1 3 1 1 3 3 1 3 1 0 4 0 4 2 2 2 2 1 3 2 2 1 3 2 2 3 1 1 2 1 2 1 3 3 1

Tabela 1. Os resultados do trabalho do Expert Advisor

Bem, vamos agora olhar para os resultados. Em primeiro lugar, algumas barras tinham a mesma direção no mesmo período de tempo, o que é particularmente interessante. Observe as células que são pintadas em cores diferentes. Marquei em amarelo células que continham apenas barras de baixa nos últimos 6 dias, em rosa as que somente continham barras de alta.

No dia 26 de novembro observamos que ao longo dos últimos 6 dias, durante as horas de abertura: 4,9, e 16 foram todas com barras de baixa. Podemos supor que os ursos estão fortes neste dia e talvez até o dia seguinte o mercado será de baixa.

Dia 27 de Novembro. Nossa previsão mostrou-se correta. Os resultados de script mostram que nos últimos 6 dias: às 6, 12, 16 e 21 horas, as velas foram somentes de baixa, então podemos supor que o mercado continuará a ser de baixa.

Dia 28 de Novembro. Nossa previsão mostrou-se correta. Ao longo dos últimos 6 dias, o número de velas de baixa diminuiu e apenas durante a horário de 21 horas eram completamente de baixa. Podemos supor que a tendência urso morreu para baixo e em breve começará a mudar.

Em 29/30 de novembro e também em 1/2 de dezembro temos a mesma situação. Nós estamos em uma tendência lateral. Curiosamente a partir do 02 de dezembro, velas de alta começam a aparecer, assumimos que a tendência vai mudar e na continuação do dia observamos que estávamos corretos em nossas suposições.

Vamos testemunhar uma situação interessante nos dias 5 e 6 de dezembro. Não existe um único intervalo de tempo onde as velas se apoiam na mesma direção. Alguma coisa deve acontecer. Mas quando olhamos no terminal, percebemos com alívio que estes dias estranhos caíram no fim de semana.

Em 7 de dezembro temos novamente velas multi-direcionais e estão novamente à espera de mudanças na tendência.

Em 08 de dezembro temos velas puramente de alta em 11 e 12 horas. Na Figura 1, a tendência parece ser de baixa? Mas se olharmos para o terminal vemos que em torno de 12 horas, a tendência vai se tornar lateral, a partir de 09 de dezembro será uma tendência de alta.

Bem. Como podemos ver, este método não nos dará uma garantia de 100% e ainda não existe uma ferramenta que possa, mas pode ser muito valioso, pois em conjunto com outros métodos de análise técnica, poderá ajudar muito na previsão do comportamento do mercado para um ou dois dias seguidos.

Conclusão

Ao escrever este artigo, eu defini três objetivos para mim:

  • Primeiro, mostrar a necessidade de aprender a linguagem MQL4, onde observamos que com o seu uso a capacidade de analisar as negociações aumentou enormemente, estando a disposição para aqueles que estão interessados numa ferramenta para análise, independente da recorrência de velas para diferentes intervalos de tempo e pares de moedas.
  • Em segundo lugar, verificar se existem recorrências de velas em diferentes intervalos no histórico, foi uma descoberta para mim verificar que algumas velas ao longo de alguns dias e com o mesmo tempo de abertura andam na mesma direção.
  • E em terceiro lugar, verificar se uma mudança na direção das velas podem servir como uma ferramenta para a previsão das alterações da direção da tendência.

É óbvio que eu não poderia realizar uma análise muito profunda do comportamento das velas em diferentes gráficos de tempo e num único artigo, nem eu estava planejando fazer isso em primeiro lugar. Todos podem explorar e analisar os pares e timeframes que são particularmente interessantes para si. O script está no arquivo anexado.

Obrigado.

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

Últimos Comentários | Ir para discussão (1)
Leandro Camargo
Leandro Camargo | 27 set 2019 em 15:35
MetaQuotes Software Corp.:

Novo artigo Pesquisa de Recorrências Estatísticas das Direções das Velas foi publicado:

Autor: Игорь

Good afternoon!

I found this very interesting and would like to congratulate you on the publication of this article! (https://www.mql5.com/pt/forum/65970)

I would like to test this script on my Meta Trader, but I cannot. I downloaded and pasted it into the Scripts folder, but I can’t start it. Could you help me?

Thanks so much for your attention!
A Mágica dos Filtros A Mágica dos Filtros
A maioria dos desenvolvedores de sistemas automatizados de negociação usam algum tipo de filtro nos sinais de negociação. Neste artigo, vamos explorar a criação e implementação de filtros passa-faixa e discretos e de cruzamento de bandas para Expert Advisors, com o objetivo de melhorar as características do sistema de negociação automática.
Verificar o Mito: O Dia de Negociação Depende de Como Foi as Operações na Sessão Asiática Verificar o Mito: O Dia de Negociação Depende de Como Foi as Operações na Sessão Asiática
Neste artigo vamos verificar a afirmação bem conhecida de que "O Dia de Negociação Depende de Como Foi as Operações na Sessão Asiática".
Concurso de Expert Advisors dentro de um Expert Advisor Concurso de Expert Advisors dentro de um Expert Advisor
Usando negociação virtual, você pode criar um Expert Advisor adaptativo que vai ligar e desligar as negociações no mercado real. Combine várias estratégias num único Expert Advisor! O sistema múltiplo de Expert Advisor irá escolher automaticamente uma estratégia de negociação, aquela mais apropriada ao mercado real com base na rentabilidade dos negócios virtuais. Este tipo de abordagem permite diminuir o rebaixamento e aumentar a rentabilidade do seu investimento no mercado. Experimente e compartilhe seus resultados com os outros! Eu acho que muitas pessoas vão se interessar em saber sobre o seu portfólio de estratégias.
Tutorial da Rede Neural FANN2MQL Tutorial da Rede Neural FANN2MQL
Este artigo foi publicado para mostrar-lhe como usar redes neurais através da FANN2MQL, usando um exemplo simples, vai ensinar um padrão para uma rede neural e testá-la para ver se ela reconhecerá padrões que nunca viu.