Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 946
- Avaliação:
- Publicado:
- 2016.12.27 09:15
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
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

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

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

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.