English Русский 中文 Español Deutsch 日本語
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

MetaTrader 4Negociação | 26 outubro 2015, 10:41
756 0
Игорь
Игорь

Introdução

Olá! Como um homem com alguma experiência em Forex e vários depósitos perdido, eu acho que tenho o direito de discutir este tema.

Não é um segredo que toda a análise técnica, sem omitir o palavreado, é essencialmente impor limites para encontrar padrões. Por exemplo, se encontrarmos 95% de probabilidade que na lua nova, à meia-noite, o dólar começará a cair de preço antes do galo cantar, naturalmente você vai negociar neste momento, de acordo com esta informação.

Surfando nos fóruns de Forex para encontrar os grãos de informações que podem ser úteis na negociação, eu encontrei muitas declarações diferentes que foram apresentadas como verdades universais. Existe um programa chamado "MythBusters" na MTV, seus autores verificam na prática uma verdade tida como universal e mostram se é verdadeira ou não.

Assim como eles, eu também decidi verificar algumas declarações que foram apresentadas como verdades pelos chamados gurus de Forex. Hoje nós vamos verificar o seguinte:

"O Dia de Negociação Depende de Como Foi as Operações na Sessão Asiática"

Einstein argumentou que tudo é relativo, assim nós consideramos detalhes de qualquer declaração e somos convencidos imediatamente que ele estava certo. Por exemplo, existe uma pergunta sobre o tempo de negociação da sessão Asiática. Vamos dar uma olhada na seguinte tabela, os horários dos pregões de negociação são apresentados abaixo.

Região Cidade Horário de inverno
Aberto
Horário de inverno
Fechado
Horário de Verão
Aberto
Horário de Verão
Fechado
ÁSIA Toquio
Hong Kong
Singapura
03:00
04:00
04:00
11:00
12:00
12:00
04:00
05:00
04:00
12:00
13:00
12:00
EUROPA Frankfurt
Zurich
Paris
Londres
9:00
9:00
9:00
10:00
17:00
17:00
17:00
18:00
09:00
09:00
09:00
10:00
17:00
17:00
17:00
18:00
AMERICA Nova York
Chicago
16:00
17:00
24:00
01:00
16:00
17:00
24:00
01:00
PACIFIC Wellington
Sidney
00:00
01:00
08:00
09:00
00:00
01:00
08:00
09:00

Tabela 1. Pregões de negociação Forex

Como podemos ver, os negociações na sessão asiática são das 03:00 às 00:00 no inverno e de 04:00 ás 13:00 no verão, mas a Europa começa as negociações às 9:00. Então a pergunta sobre a sessão asiática propriamente dita é de 3:00 às 9:00 ou das 3:00 às 13:00? Outra questão é a hora do servidor, pois diferentes corretoras têm tempo de servidores diferentes, por isso não é necessariamente o mesmo tempo de Moscou, outra questão é a mudança do horário de inverno/verão - algumas corretoras não mudam. Necessariamente nós temos que levar isso em conta em nosso estudo. O que "O Dia de Negociação Depende..." significa? Se a sessão asiática foi alta, então o preço vai crescer até a próxima sessão?

Primeiro de tudo, vamos dar uma olhada na Fig. 1. As sessões estão pintadas com cores diferentes, utilizando o indicador "i-Sessions" idealizado por Igor Kim. A área do horário das 3:00 às 13:00 está preenchido na cor escura ("Asia"). A sessão Européia (das 9:00 às 18:00) é de cor mais clara e a sessão Americana (das 16.00 às 24.00) tem a cor mais clara ainda.

Fig. 1 Gráfico do NZDUSD com as sessões

Vou descrever tudo em detalhes para ajudar aos novatos entenderem tudo.

Então, meu Advisor Expert "1-Session" é projetado para resolver as seguintes tarefas:

Deve calcular os preços de abertura e fechamento das sessões definidas por nós. Vamos supor que se o preço da abertura da sessão é maior do que o preço de fechamento, a sessão é de baixa e de alta no caso contrário.

Se o preço de abertura é igual ao preço de fechamento, a sessão é neutra.

Eu tentei comentar todo o código do Expert Advisor, para tornar mais simples os novatos (eu sou um deles).

//+------------------------------------------------------------------+
//|                                                    1-Session.mq4 |
//|                                Copyright © 2009, Igor Alexandrov |
//|                                                sydiya@rambler.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Igor Alexandrov"
#property link      "sydiya@rambler.ru"

//---- Parâmetros de entrada
extern string  Open_session =  "01:00"; //Horário de abertura da sessão para estudar
extern string  Close_session = "10:00"; //Horário de fechamento da sessão para estudar
extern int Day_kol_vo = 50;             //Número de dias para estudar
extern int Hour_kol_vo = 15;            //Número de horas a estudar depois da sessão
extern int Profit = 20;                 //valor do Take Profit para verificar

//----------------------------------------------------------------------------
string Symb;                            //Símbolo (ativo) de negociação do expert anexado
//----------------------------Iniciando---------------------------------------

int start()
  { //o suporte principal começa
   int  Shift_open_H1,       //Número da barra horária com o mesmo tempo de abertura da barra diária
   Shift_open_bars_session,  //Número da barra horária que abre a sessão     
   Shift_close_bars_session, //Número da barra horária que fecha a sessão
   STOP_LEVER=0;             //Distância mínima para o TP e SL

   double Open_bars_session, //Preço de abertura da primeira barra da sessão
   Close_bars_session,       //Preço de fechamento da última barra da sessão
   Vira_session,             //Preço máximo da sessão
   Total_TP=0,               //Contador de execuções do Take Profit
   Total_SL=0,               //Contador de execuções do Stop Loss
   Total_day=0,              //Número de dias para estudar
   Total_SL_TP=0,            //Contador de sessões neutras
   Maina_session;            //Preço mínimo da sessão

   datetime Time_open_day,   //Tempo de abertura da barra diária i-th
   Time_open_session,        //Tempo de abertura da sessão (formato data hora)
   Time_close_session;       //Tempo de fechamento da sessão (formato data hora)

   string String_open_H1;    //Tempo de abertura da primeira barra horária do dia para estudar
                             //como formato da string "yyyy.mm.dd"
   bool   Session_buy=false, //Flag da sessão de alta 
   Session_sell=false;       //Flag da sessão de baixa
   Symb=Symbol();            //Nome do Símbolo (ativo)

   //Distância mínima entre TP e SL
   STOP_LEVER=MarketInfo(Symb,MODE_STOPLEVEL);

   // ciclo de barras diárias
   for(int i=Day_kol_vo;i>0;i --)
     { //suporte para o ciclo de barras diárias

      //Contador para os dias estudados
      Total_day++;

      //tempo de abertura da barra diária i-th 
      Time_open_day=iTime(Symb,PERIOD_D1,i);

      //número de barras horárias com o mesmo tempo de abertura da barra diária
      Shift_open_H1=iBarShift(Symb,PERIOD_H1,Time_open_day,false);

      //converte tempo de abertura da primeira barra horária como uma string "yyyy.mm.dd"
      String_open_H1=TimeToStr(Time_open_day,TIME_DATE);

      //tempo de abertura para a sessão de estudo (no formato data hora)
      Time_open_session=StrToTime(String_open_H1+" "+Open_session);

      //número da barra horária a partir da qual inicia a sessão
      Shift_open_bars_session=iBarShift(Symb,PERIOD_H1,Time_open_session,false);

      //tempo de fechamento da sessão de estudo (no formato data hora)
      Time_close_session=StrToTime(String_open_H1+" "+Close_session);

      //número de última barra horária da sessão
      Shift_close_bars_session=iBarShift(Symb,PERIOD_H1,Time_close_session,false);

      //preço de abertura da primeira barra da sessão
      Open_bars_session=iOpen(Symb,PERIOD_H1,Shift_open_bars_session);

      //preço de fechamento da primeira barra da sessão
      Close_bars_session=iClose(Symb,PERIOD_H1,Shift_close_bars_session);

      //buscando a máxima do preço da sessão
      Vira_session=iHigh(Symb,PERIOD_H1,iHighest(Symb,PERIOD_H1,MODE_HIGH,
      (Shift_open_bars_session-Shift_close_bars_session),Shift_close_bars_session));

      //buscando a mínima do preço da sessão
      Maina_session=iLow(Symb,PERIOD_H1,iLowest(Symb,PERIOD_H1,MODE_LOW,
      (Shift_open_bars_session-Shift_close_bars_session),Shift_close_bars_session));

      //O preço de abertura é maior do que o preço de fechamento, a sessão é de Baixa
      if(Open_bars_session>Close_bars_session)
        {
         Session_buy=false;
         Session_sell=true;
        }

      //O preço de abertura é menor do que o preço de fechamento, a sessão é de Alta      
      if(Open_bars_session<Close_bars_session)
        {
         Session_buy=true;
         Session_sell=false;
        }

      //O preço de abertura é igual ao preço de fechamento, a sessão é Neutra
      if(Open_bars_session==Close_bars_session)
        {
         Session_buy=false;
         Session_sell=false;
        }
      // Contador de horas para verificação
      int PEREBOR=0;

      //Ciclo de barras horárias no dia i-th
      for(int j=Shift_close_bars_session;j>Shift_close_bars_session-Hour_kol_vo;j --)
        {//Abertura do suporte ao ciclo de barras horárias

         //contador de horas (para verificar)
         PEREBOR++;

         //se sessão é de alta
         if(Session_buy==true && Session_sell==false)
           {
            // se a máxima do preço da barra horária
            //é maior do que (preço de fechamento da sessão + Lucro + Distância Mínima)
            if(iHigh(Symb,PERIOD_H1,j-PEREBOR)>(Close_bars_session+(Profit+STOP_LEVER)*Point))
              {
               Total_TP++;     //Take Profit executado
               break;          //quebrar o ciclo (barras horárias)
              }
            //se a mínima do preço da barra horária
            //é menor do que a mínima do preço da sessão
            if(iLow(Symb,PERIOD_H1,j-PEREBOR)<Maina_session)
              {
               Total_SL++;     //Stop Loss executado
               break;          //quebrar o ciclo (barras horárias)
              }
           }
         //se a sessão é de baixa
         if(Session_buy==false && Session_sell==true)
           {
            // se a máxima do preço da barra horária 
            //é maior do que a máxima do preço da sessão
            if(iHigh(Symb,PERIOD_H1,j-PEREBOR)>Vira_session)
              {
               Total_SL++;      //Stop Loss executado
               break;           //quebrar o ciclo (barras horárias)
              }
            //se a mínima do preço da barra horária 
            //é menor do que (preço de fechameto sa sessão - (Lucro + Distância Mínima) 
            if(iLow(Symb,PERIOD_H1,j-PEREBOR)<(Close_bars_session-(Profit+STOP_LEVER)*Point))
              {
               Total_TP++;      //Take Profit executado              
               break;           //quebrar o ciclo (barras horárias)
              }
           }
         //se sessão é neutra
         if(Session_buy==false && Session_sell==false)
           {
            Total_SL_TP++;      //Aumenta o contador
            break;              //quebrar o ciclo (barras horárias)
           }

        } // Fechando suporte ao ciclo de barras horárias

      double Pro_Total_TP=(Total_TP/Total_day)*100, //Probabilidade de execução do TP
      Pro_Total_SL=(Total_SL/Total_day)*100,        //Probabilidade de execução SL
      Pro_Total_SL_TP=(Total_SL_TP/Total_day)*100;  //Probabilidade de sessões neutras
      int Total_no=Total_day-Total_SL-Total_TP-Total_SL_TP; //TP e SL não foram executados
      double Pro_Total_no =(Total_no/Total_day)*100;        //Probabilidade de que o TP e SL não serão executados
      Comment("Checked ",Total_day," days","\n",
              "Session Opening time  ",Open_session," Session Closing time ",
              Close_session," Number of hours to check after the session ",Hour_kol_vo," Profit ",Profit,"\n",
              "Take profit has executed ",Total_TP," times","\n",
              "Stop Loss has executed ",Total_SL," times","\n",
              "The neutral sessions was ",Total_SL_TP," times","\n",
              "Neither SL/TP executed ",Total_no," times","\n",
              "Probability for Take Profit execution ",Pro_Total_TP," %","\n",
              "Probability for Stop Loss execution ",Pro_Total_SL," %","\n",
              "Probability for neutral sessions ",Pro_Total_SL_TP," %","\n",
              "Probability that SL and TP will not executed ",Pro_Total_no," %");

     } //Fechando suporte das barras diárias

   return(0);

  } // o suporte principal termina 

Agora vamos analisar cuidadosamente o código para entender o método de verificação que foi implementado. Por exemplo, se uma sessão é de baixa, vamos simular que o Take Profit em algum nível de preço está abaixo do preço de fechamento da sessão: (Lucro+STOP_LEVER), onde o lucro (pode ser alterado) é apresentado em pontos. Supõe-se que se o preço caiu, então vai continuar caindo, na situação contrária, o mesmo acontece na sessão de alta.

O STOP_LEVER é a distância mínima do preço atual permitido pela corretora. Não é necessário definir esta variável, ela é calculada automaticamente.

O nível de Take Profit real, definido na janela parâmetros do Expert Advisor (parâmetro "Profit") será um pouco mais longe do preço definido pelo valor STOP_LEVER, o seu valor é diferente para corretoras e para pares de moedas diferentes. Ele foi projetado para atingir os resultados reais na nossa simulação. Por exemplo, se você tentar colocar uma ordem no ouro com 5 pontos de lucro na negociação real, você não poderá fazê-la, pois a distância mínima possível a partir do preço atual seria de 50 pontos.

Agora vamos considerar os Stop Losses. Geralmente, você pode simplesmente calcular a probabilidade de alcançar o Take Profit, colocado a direção dos preços e definido por sessão, mas parece incompleta. É interessante e talvez muito mais importante do que contar as ordens lucrativas, são as ordens com perdas.

Vamos dar uma olhada novamente na Fig. 1. Podemos ver o seguinte. Se sessão asiática foi de alta no geral, então o preço não vai cair abaixo da mínima do preço da sessão. Na Fig.1 a sessão de novembro de 2009, a partir das 3:00 às 13:00 foi demarcado com linhas verticais. Pode-se ver que é de alta no geral, porque o preço de abertura é menor do que o preço de fechamento, deduzimos que o nível de Stop Loss deve estar no preço mínimo da sessão. Para a sessão de baixa, o nível de Stop Loss deve ser ajustado na máxima do preço, como já foi constatado.

A idéia do nosso controle tem de levar em conta o nossos virtual Take Profit e calcular os níveis de Stop Loss, contar com a execução de ambos usando a histórico.

Portanto, os parâmetros de entrada do Expert Advisor (os mesmo que podemos alterar na guia "Entradas") são s seguintes:


Fig 2. Parâmetros de entrada do Expert Advisor


Open session – horário de abertura da sessão,

Close_session – horário de fechamento da sessão,

Day_kol_vo – Número de dias no histórico (por exemplo, o valor igual a 50 significa que o expert vai usar os últimos 50 dias nos seus cálculos, eu não recomendo usar valores muito grandes),

Hour_kol_vo – Número de horas. Este parâmetro define o número de horas após o término da sessão (o expert irá usá-lo nos cálculos). Nos dados anexados tenho usado o número de horas para a próxima sessão. Se estudarmos o tempo de 3.00 às 13.00, o seu valor é igual a 14 para a próxima sessão.

Profit é a distância em pontos a partir do preço de fechamento da sessão. Na verdade é o nosso nível virtual de Take Profit.

O cálculo das probabilidades é simples - os Takes Profits são os número de execuções em relação aos números de dias analisados, divididos pelos números destes dias e multiplicados por 100, transformando-os em porcentagem.

Da mesma foram, os Stop Losses são os números de execuções aos números de dias analisados divididos pelos números destes dias e multiplicados por 100.

É o mesmo procedimento para as sessões neutras.

Alguns detalhes sobre o funcionamento do Expert Advisor e sua instalação. Primeiro de tudo, copiamos o Expert Advisor a pasta "experts" e depois fazer a compilação. Depois que anexá-lo a qualquer período de tempo (é preferível H1), defina o tempo que precisamos e outros parâmetros que foram descritas acima e permitir que ele negocie. Na verdade ele não tem qualquer função de negociação, ele irá imprimir as informações no canto inferior esquerdo da carta (o cálculo do número de dias, seus parâmetros, o número de Take Profit e Stop Loss executados, número de sessões neutras e as probabilidades de execuções dos TPs e SLs).

Vamos lembrar - não é necessário testar no Testador, basta anexá-lo e esperar por um tick e olhar para os resultados, mudar seus parâmetros de entrada se necessário, esperar por um novo tick e salvar os resultados em algum lugar. Talvez ele devesse ser concebido como um indicador, mas neste momentoeu não quero mudá-lo, provavelmente será feito no futuro.

Se os ticks são muito freqüentes, você pode desativar o robô usando o botão "Expert Advisors" no terminal do cliente.

Agora vamos discutir o assunto, vamos dar uma olhada na tabela a seguir. Ela foi preenchida com dados calculados pelo Expert Advisor há vários dias, em 10 de novembro. Eu não usei um histórico muito profundo, foi utilizado os últimos 50 dias. O horário para negociação (comprar ou vender) foi escolhido das 3:00 às 13:00 (sessão asiática completa), das 3:00 às 9:00 (sessão asiática pura, sem a sessão Europeia) e das 9,00 às 13,00 (sessões asiáticos e européias).


Período de tempo

3:00-13:00

3:00-13:00

3:00-13:00

3:00-9:00

3:00-9:00

3:00-9:00

9:00-13:00

9:00-13:00

9:00-13:00

ParPair
Descrição

Profit-5

Profit-15
Profit-25
Profit-5
Profit-15
Profit-25
Profit-5
Profit-15
Profit-25
USDJPY Take Profit executado %
74
58
50
78
64
52
70
52
44
USDJPY Stop Loss executado %
24
36
44
22
36
48
30
48
56
USDJPY Sessão é neutra %
2
2
2
0
0
0
0
0
0
USDJPY Nada executado %
0
4
4
0
0
0
0
0
0
EURUSD Take Profit executado %
100
72
64
68
62
54
76
66
62
EURUSD Stop Loss executado %
0
28
36
32
38
46
24
34
38
EURUSD Sessão é neutra %
0
0
0
0
0
0
0
0
0
EURUSD Nada executado %
0
0
0
0
0
0
0
0
0
GBPJPY Take Profit executado %
72
62
54
72
66
50
78
64
56
GBPJPY Stop Loss executado %
28
34
42
28
34
50
22
34
42
GBPJPY Sessão é neutra %
0
0
0
0
0
0
0
0
0
GBPJPY Nada executado %
0
4
4
0
0
0
0
2
2
NZDUSD Take Profit executado %
80
66
56
74
58
50
68
58
46
NZDUSD Stop Loss executado %
20
34
42
24
40
48
30
40
52
NZDUSD Sessão é neutra %
0
0
0
2
2
2
2
2
2
NZDUSD Nada executado %
0
0
0
0
0
0
0
0
0

Tabela 2. As probabilidades finais (%).

Como podemos ver eu não teria grandes lucros - os valores foram 5, 15 e 25 pontos.

Conclusões

Pode-se ver na tabela 2, que o mito: "O Dia de Negociação Depende de Como Foi as Operações na Sessão Asiática" está errado, pelo menos para estes 4 pares de moedas nos últimos 50 dias.

A probabilidade de execução Take Profit com 5 pontos está perto de 60 a 70%, eu comparo com a probabilidade de jogar uma moeda no "cara ou coroa".

Para o EURUSD existe 100% de probabilidade de Take Profit com 5 pontos, isto é, se eu negociei durante 13:00, dependendo da tendência da sessão asiática, durante os últimos 50 dias, com margem de 5 pontos no Take Profit, eu sempre negociei com sucesso. O que posso dizer - é uma pena que eu não sabia disso. Para os caçadores de pips estes resultados podem ser usados como uma informação adicional, o estudo com a histórico mais profundo (100 dias ou mais ) produz resultados inexpressíveis.

O valor do Expert Advisor apresentado não serve apenas para comprovar a ausência de qualquer dependência entre as sessões asiáticas e outras durante o dia. algumas pessoas tentam encontrar relações de negociação para algumas horas de operações, agora com este EA poderá fazer sem os cálculos manuais tediosos.

O indicador TradeSession.mq4 (talvez alguém queira usá-lo no terminal do cliente) e o Expert Advisor 1-Session.mq4 estão anexados.

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

Arquivos anexados |
1-_Session.mq4 (8.44 KB)
TradeSessions.mq4 (7.98 KB)
Pesquisa de Recorrências Estatísticas das Direções das Velas Pesquisa de Recorrências Estatísticas das Direções das Velas
É possível prever o comportamento do mercado num 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. Esta questão provavelmente surge na mente de cada trader. A finalidade deste artigo é uma tentativa de prever o comportamento do mercado com base nas recorrências estatísticas das direções das velas durante intervalos de tempo específicos.
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.
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.
Projeto Meta COT - Novos Horizontes para Analise do Relatório da CFTC em MetaTrader 4 Projeto Meta COT - Novos Horizontes para Analise do Relatório da CFTC em MetaTrader 4
O artigo é sobre o uso das informações do relatório da CFTC (Commodity Futures Trading Commission) em MetaTrader. O artigo descreve em datalhes a proposta do projeto META COT, mostra como carregar e processar as informações necessárias. O Expert Advisor incluído no projeto nos ajudará a analisar a eficácia do conceito apresentado no artigo. Por fim, vamos tirar algumas conclusões e oferecer sugestões úteis.