Olá,
Pelo que entendi no artigo, a função "setBokerOffset ()" também deveria funcionar no testador de estratégia, mas não funciona.
void OnTick() { //--- bool isTimeSet = setBokerOffset(); if(!isTimeSet) { Alert("setBokerOffset failed"); return; } }
array out of range in 'DealingWithTime.mqh' (201,21)
A alternativa "The Alternative using it via Input Variables" é a única maneira de obter os tempos corretos no testador de estratégias?
A alternativa "The Alternative using it via Input Variables" é a única maneira de obter os tempos corretos no testador de estratégias?
Suponho que o testador de estratégia não tenha recebido as cotações e, portanto, o CopyTime() anterior falhou. Verifique se os dados solicitados e necessários já estão disponíveis localmente.
Ok, vou observar mais de perto o CopyTime() e tentarei resolver o problema.
E obrigado, artigo muito útil!
Bom artigo. No entanto, surge um problema: como determinar que uma corretora/negociante está mudando de inverno/verão sem entrar em contato com o suporte técnico?
- Por que não perguntar?
- O software sabe quando é o horário de verão/inverno nos EUA e na UE e usa isso para calcular a compensação da corretora.
Bom artigo. No entanto, surge um problema: como determinar que uma corretora/negociante está mudando de inverno/verão sem entrar em contato com o suporte técnico?


- www.mql5.com
- Por que não perguntar?
- O software sabe quando é o horário de verão/inverno nos EUA e na UE e usa isso para calcular a compensação do corretor.
1. Porque o suporte nem sempre fornece informações corretas. Você mesmo apontou isso sobre o corretor da Alpari. + é uma sobrecarga: descobrir a transição de cada corretor. Porque assim não é possível criar uma boa solução, pois não sei com quem o usuário final está discutindo.
2. Bem, mais ou menos, sim, mas se o revendedor não fizer a transição do inverno para o verão e vice-versa, você terá algo estranho nos cálculos.
Tentei modificar um pouco sua biblioteca, mas aparentemente algo deu errado. Achei que o código deveria levar ao fato de que o Expert Advisor detecta automaticamente o horário GMT e negocia de acordo com o GMT, e não de acordo com o servidor da corretora. Não tenho certeza se o código é ideal, mas a solução parece funcionar. Entretanto, nas corretoras que não alteram o horário, há alguns cálculos incorretos.

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Trabalhando com o tempo (Parte 2): funções foi publicado:
Vamos aprender a reconhecer automaticamente as diferenças de tempo junto à corretora, bem como o Tempo Médio de Greenwich. Em vez de preguntar à corretora, que provavelmente dará uma resposta imprecisa (e quem quer explicar onde está o horário de negociação?), seremos nós mesmos a ver a que horas ela recebe as cotações nas semanas em que os fusos horários são trocados. Mas é claro que não vamos fazer isso manualmente, deixaremos o software fazer o trabalho por nós.
Neste artigo continuaremos com o arquivo de inclusão DealingWithTime.mqh, com que trabalhamos na primeira parte. Neste arquivo, antes das funções e depois das substituições de macros vêm as variáveis requeridas, que são declaradas como variáveis globais:
Estas variáveis DST_USD, DST_EUR, etc. tomarão o valor real da diferença de tempo nos respectivos países e regiões - EUA, Europa, etc. Os valores das variáveis serão preenchidos com funções. No horário normal de inverno, os valores são zero: o tempo não muda durante este período.
Em seguida, temos variáveis com a data da próxima mudança de horário. Elas indicam quando os novos valores das variáveis terão que ser calculados, para que cálculos desnecessários não sejam realizados antes disso e para que os recursos computacionais não sejam desperdiçados:
Há uma pequena diferença nas configurações para a Rússia, veremos isso um pouco mais tarde.
Esta estrutura e sua variável global são o coração de todo o programa. :)
Definimos os valores de diferença junto à corretora para os três períodos pertinentes e a permanência no mercado durante esses períodos. Também escrevemos o verdadeiro valor de permanência e verificamos se todos os valores requeridos foram definidos. Encontraremos o nome da variável global, OffsetBroker, várias vezes.
Autor: Carl Schreiber