Calendrier économique. Questions, discussions. - page 8

 
Rashid Umarov:

Merci, nous avons trouvé la raison - des fuseaux horaires différents. Nous vous informerons lorsqu'une solution sera trouvée.

Vous voulez dire les fuseaux horaires des pays ?

 
Alexey Viktorov:

Vous voulez dire les fuseaux horaires des pays ?

Fuseau horaire de l'utilisateur (terminal) et de la source de l'événement

 
Rashid Umarov:

Fuseau horaire de l'utilisateur (terminal) et de la source de l'événement

Mais en interrogeant CalendarValueHistory, il s'agit de l'heure GMT, et non de l'heure terminale, et l'heure GMT est écrite dans la structure. Et le fait qu'une nouvelle soit visible et que l'autre ne le soit pas avec tous les mêmes paramètres.

Bien sûr, je ne vais pas discuter avec les programmeurs qui sont plus instruits que moi, mais il n'y a aucune logique ici. Après tout, si l'heure des nouvelles est spécifiée à 1h30 et que la demande est faite de 1h00 à 2h00, alors ces nouvelles devraient être visibles indépendamment de l'heure MT. Et quand la demande est faite de 1:00 à 4:00, soudainement cette nouvelle est trouvée et l'heure de la nouvelle est définie comme 1:30. En revanche, les autres dates spécifiées dans mon exemple fonctionnent sans problème avec un intervalle de temps de 1 heure.

Et comme je travaille avec le calendrier économique, je voudrais demander la possibilité de définir une plage de temps, même de 5 minutes, si je ne peux pas demander des nouvelles dans la plage de 1:30 à 1:31. Mais je dois admettre que je n'ai pas vérifié la plage minimale acceptable.

 
L'heure de diffusion des informations peut changer d'une heure
 
Vladimir Kononenko:
L'heure des nouvelles peut changer d'une heure.

Et alors ? A quel moment le changement peut-il intervenir ? Immédiatement à l'heure prévue au lieu du changement d'heure des nouvelles ?

 
Alexey Viktorov:
Mais dans la requête CalendarValueHistory, l'heure est GMT, pas l'heure du terminal, et l'heure GMT est écrite dans la structure.

Ajout d'une note aux fonctions du calendrier

Note

Toutes les fonctions du calendrier économique utilisent l'heure du serveur commercial (TimeTradeServer). Cela signifie que l'heure dans la structure MqlCalendarValue et les paramètres d'heure entrante dans les fonctions CalendarValueHistoryByEvent/CalendarValueHistory sont définis dans le fuseau horaire du serveur commercial, et non dans l'heure locale de l'utilisateur.

 
Rashid Umarov:

Ajout d'une note aux fonctions du calendrier

Note

Toutes les fonctions du calendrier économique utilisent l'heure du serveur commercial (TimeTradeServer). Cela signifie que l'heure dans la structure MqlCalendarValue et les paramètres d'heure entrante dans les fonctions CalendarValueHistoryByEvent/CalendarValueHistory sont définis dans le fuseau horaire du serveur commercial, et non dans l'heure locale de l'utilisateur.

Merci, j'ai vérifié une zone problématique. Tout est comme le docteur l'a prescrit.

   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

Si vous connaissez l'heure exacte de la nouvelle, vous pouvez spécifier une plage de demande de 1 minute. Mais nous devons tenir compte du fait que la date_to n'est pas incluse dans la plage. C'est-à-dire que si vous réglez l'heure

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

Les événements du calendrier économique de l'exemple ci-dessus ne seront pas reçus.

 
Je l'ai essayé dans le testeur - les événements du calendrier ne sont pas téléchargés. Je me demande quand le calendrier sera implémenté dans le testeur de stratégie ?
Vladimir Kononenko:
Renat Fatkhullin:

Nous avons déjà procédé à une mise en œuvre propre et sous licence ducalendrier économique.

Notre service collecte de manière indépendante des données brutes provenant de nombreuses sources officielles et est conçu pour réagir le plus rapidement possible. En outre, un historique détaillé des valeurs est conservé.

Tout d'abord, nous allons activer le calendrier sur ce site web, puis nous mettrons à jour le calendrier dans MT5 et donnerons un accès direct à toutes les données du calendrier à partir de MQL5. Vous pourrez utiliser le calendrier dans le testeur - son historique sera également simulé.

__________________

Il semble qu'elle n'ait pas encore été mise en œuvre dans le testeur de stratégie.