Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

YZ_Summer_Time - biblioteca para MetaTrader 5

Visualizações:
870
Avaliação:
(34)
Publicado:
2016.12.27 09:15
\MQL5\Include\

Verifica se a data pertence ao horário de verão ou inverno. A função determina o horário (verão ou inverno).

A mudança para o horário de inverno é feita na noite do último domingo de Outubro, no caso do verão, acontece na noite do último domingo de Março.

Não há maneira mais confiável para verificar se o horário é de verão ou inverno.

O código foi desenvolvido para depuração de notícias.

//
// O algoritmo foi melhorado em 09.10.2014
//
// YURAZ yzh@mail.ru
// a função determina se é horário de verão ou inverno
// a mudança para o horário de inverno é feita na noite do último domingo de Outubro.
// e no caso do verão, acontece na noite do último domingo de Março
// não há maneira mais confiável para verificar se o horário é de verão ou inverno.
// retorna 0 - horário de verão
// retorna 1 - horário de inverno
//
int YZ_summer_time(datetime pdt)
  {
   MqlDateTime dt;
   TimeToStruct(pdt,dt);
   int code=1;
   if(dt.mon>=11 || dt.mon<=2) // INVERNO
     {
      code=1;
     }
   if(dt.mon>=4 && dt.mon<=9) // VERÃO
     {
      code=0;
     }
   datetime tSeek;
   MqlDateTime dtf;
   if(dt.mon==10) // Outubro
     {
      if(dt.day<25) // noite do último domingo de Outubro - muda para o horário de inverno
         code=0; // ainda verão
      else
        {
         TimeToStruct(pdt,dtf);
         tSeek=StringToTime(IntegerToString(dtf.year)+".10.31 02:00");  // define o último dia de Outubro
         TimeToStruct(tSeek,dtf);
         for(int i=31; i>=25;  i--)
           {
            if(dtf.day_of_week==0 ) // Necessário  para encontrar a noite  sábado para domingo
               break;  
            tSeek=tSeek-86400; // ( ENCONTRA  exatamente as 2 da manhã,  ou seja, a mudança em si não faz sentido já que o mercado de Forex está fechado de sábado para domingo  )
            TimeToStruct(tSeek,dtf);
           }
         if(pdt<tSeek)
           {
            code=0; // verão
           }
         else
            code=1; // inverno
        }
     }
   if(dt.mon==3) // Março
     {
      if(dt.day<25) // noite do último domingo de Março  - muda para o horário de verão
         code=1; // ainda inverno
      else
        {
         TimeToStruct(pdt,dtf);
         tSeek=StringToTime(IntegerToString(dtf.day_of_year)+".03.31 03:00");  // define o último dia de Março
         for(int i=31; i>=25;  i--)
           {
            if(dtf.day_of_week==0 ) // Necessário  para encontrar a noite  sábado para domingo
               break;  
            tSeek=tSeek-86400; // ( ENCONTRA  exatamente as 3 da manhã,  ou seja, a mudança em si não faz sentido já que o mercado de Forex está fechado de sábado para domingo  )
            TimeToStruct(tSeek,dtf);
           }
         if(pdt>tSeek)
           {
            code=0; // verão
           }
         else
            code=1; // inverno
        }
     }
  return( code);
  }


Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/11932

Módulo de Sinais de Negociação Baseado no Indicador Delta ZigZag Módulo de Sinais de Negociação Baseado no Indicador Delta ZigZag

Módulo de sinais de negociação baseado no indicador Delta ZigZag

Rate_AOModPips Rate_AOModPips

Este indicador mede a taxa de variação do indicador AwesomeModPips.

Cálculo da Margem Cálculo da Margem

Biblioteca para o cálculo da margem necessária para abrir uma posição no MetaТrader 5.

Ilan 1.6 Dynamic HT Ilan 1.6 Dynamic HT

O popular Ilan 1.6 Dynamic pertence a catergoria de "médias". Ilan usa fórmulas avançadas de gerenciamento de dinheiro, permitindo até mesmo tornar as posições perdedoras em lucrativas. Agora, foi disponibilizado o código fonte do Ilan 1.6 para o MetaTrader 5.