Calendário econômico. Perguntas, discussões. - página 8

 
Rashid Umarov:

Obrigado, descobrimos a razão - fusos horários diferentes. Nós o informaremos quando uma solução for encontrada.

Você quer dizer os fusos horários dos países?

 
Alexey Viktorov:

Você quer dizer os fusos horários dos países?

Fuso horário do usuário (terminal) e fonte do evento

 
Rashid Umarov:

Fuso horário do usuário (terminal) e fonte do evento

Mas ao consultar o CalendarValueHistory, é hora GMT, não hora terminal, e a hora GMT é escrita na estrutura. E o fato de que uma notícia é visível e a outra não está com todos os mesmos parâmetros.

É claro que não vou discutir com programadores que são mais literatos do que eu, mas não há lógica aqui. Afinal, se o horário das notícias for especificado às 13h30 e o pedido for feito das 13h00 às 14h00, então esta notícia deve ser visível independentemente do horário MT. E quando o pedido é feito das 13:00 às 16:00, de repente esta notícia é encontrada e a hora da notícia é definida como 13:30. Mesmo assim, outras datas especificadas no meu exemplo trabalham sem problemas com um intervalo de tempo de 1 hora.

E como trabalho com calendário econômico, gostaria de pedir a oportunidade de definir o intervalo de tempo, mesmo que seja de 5 minutos, se não puder pedir notícias no intervalo de 1:30 a 1:31. Mas devo admitir que não verifiquei o intervalo mínimo aceitável.

 
O tempo de divulgação de notícias pode mudar em uma hora
 
Vladimir Kononenko:
A hora da notícia pode mudar em uma hora

Então? Em que momento a mudança pode ocorrer? Imediatamente na hora marcada, em vez da mudança de horário das notícias?

 
Alexey Viktorov:
Mas na consulta CalendarValueHistory, a hora é GMT, não a hora do terminal, e a hora GMT é escrita na estrutura.

Acrescentar uma nota às funções do calendário

Nota

Todas as funções para o Calendário Econômico utilizam o tempo do Trade Server (TimeTradeServer). Isto significa que o tempo na estrutura MqlCalendarValue e os parâmetros de tempo de entrada nas funções CalendarValueHistoryByEvent/CalendarValueHistory são definidos no fuso horário do servidor comercial, não no tempo do usuário local.

 
Rashid Umarov:

Acrescentar uma nota às funções do calendário

Nota

Todas as funções para o Calendário Econômico utilizam o tempo do Trade Server (TimeTradeServer). Isto significa que o tempo na estrutura MqlCalendarValue e os parâmetros de tempo de entrada nas funções CalendarValueHistoryByEvent/CalendarValueHistory são definidos no fuso horário do servidor comercial, não no tempo do usuário local.

Obrigado, eu verifiquei uma área problemática. Tudo é como o médico prescreveu.

   datetime date_from = D'15.8.2019 4:30:00';
   datetime date_to = date_from+PeriodSeconds(PERIOD_M1);
2019.08.30 16:54:21.134 Test bag (AUDUSD,H1)    Получены значения событий по country_code=AU: 4
2019.08.30 16:54:21.134 Test bag (AUDUSD,H1)    date_from 2019.08.15 04:30:00 : date_to 2019.08.15 04:31:00
2019.08.30 16:54:21.134 Test bag (AUDUSD,H1)         [id] [event_id]              [time]            [period] [revision] [actual_value] [prev_value] [revised_prev_value]     [forecast_value] [impact_type] [reserved]
2019.08.30 16:54:21.134 Test bag (AUDUSD,H1)    [0] 93908   36010004 2019.08.15 04:30:00 2019.07.01 00:00:00          0       34500000     21100000             21000000 -9223372036854775808             0          0
2019.08.30 16:54:21.134 Test bag (AUDUSD,H1)    [1] 93909   36010005 2019.08.15 04:30:00 2019.07.01 00:00:00          0       66100000     66000000 -9223372036854775808             66100000             0          0
2019.08.30 16:54:21.134 Test bag (AUDUSD,H1)    [2] 93910   36010003 2019.08.15 04:30:00 2019.07.01 00:00:00          0       41100000       500000             -2300000             26800000             1          0
2019.08.30 16:54:21.134 Test bag (AUDUSD,H1)    [3] 93911   36010006 2019.08.15 04:30:00 2019.07.01 00:00:00          0        5200000      5200000 -9223372036854775808              5100000             2          0

Se você souber a hora exata da notícia, você pode especificar um intervalo de solicitação de 1 minuto. Mas devemos levar em conta que a data_até não está incluída no intervalo. Isto é, se você definir o tempo

   datetime date_from = D'15.8.2019 4:29:00';
   datetime date_to = date_from+PeriodSeconds(PERIOD_M1);

Os eventos do calendário econômico do exemplo acima, não serão recebidos.

 
Tentei no testador - os eventos do calendário não são carregados. Quando será que o calendário será implementado no testador de estratégias?
Vladimir Kononenko:
Renat Fatkhullin:

Já fizemos nossa própria implementação limpa e licenciada docalendário econômico.

Nosso serviço coleta dados brutos de inúmeras fontes oficiais de forma independente e é criado para reagir o mais rapidamente possível. Além disso, é mantido um histórico profundo dos valores.

Primeiro, habilitaremos o calendário neste website, e depois atualizaremos o calendário no MT5 e daremos acesso direto a todos os dados do calendário da MQL5. Você poderá usar o calendário no testador - sua história também será simulada.

__________________

Parece que ainda não foi implementado no Testador de Estratégia