Comment savoir si le marché est fermé ? (mql4) - page 6

 
Alexey Busygin:
Dans certains cas, la réponse doit provenir du serveur DC ! Et les DCs ne se soucient pas vraiment de ça. C'est pour ça que ça ne marche pas si bien.

Oh, bien. Cela a résolu le problème.

:))))))))

 
Vasyl Nosal:

Oh, bien. Cela a résolu le problème.

:))))))))

Oui bien sûr, pourquoi utiliser quelque chose qui ne fonctionne pas.
 
Vasyl Nosal:

Et aujourd'hui

IsTradeAllowed(Symbol(), TimeCurrent())

montre de la lâcheté.

La fonction semble se concentrer uniquement sur le calendrier des opérations. Et elle ne peut pas considérer ces exceptions comme des vacances parce qu'elle exige un calendrier supplémentaire de la part du courtier qui ne le juge pas nécessaire.

Par conséquent, nous arrivons à la conclusion qu'il n'existe pas de moyen simple de déterminer un marché fermé. Il reste donc la méthode qui a déjà été testée de nombreuses fois dans la pratique.

Au fait, pourquoi avez-vous l'heure locale ?

Parce que l'heure du serveur (TimeCurrent()) ne change pas le week-end.
 
Ihor Herasko:

...

Parce que l'heure du serveur (TimeCurrent()) ne change pas le week-end.
C'est faux.
 
Vrai, pas de changement, dernière heure connue du serveur ou tick, pas de tick pas de changement d'heure.
 
Alexander Bereznyak:
Vraiment, pas de changement, dernière heure connue du serveur ou tic, pas de tic, pas de changement d'heure.
Putain..., c'est dur pour toi d'aller au terminal maintenant et de regarder ? ??
 
Vasyl Nosal:
Putain, c'est dur pour toi d'aller au terminal et de le regarder maintenant ????

Pourquoi tu ferais ça ? Après tout, vous pouvez constater par vous-même qu'il ne change pas. En outre, il existe une formulation claire dans la documentation: https://docs.mql4.com/ru/dateandtime/timecurrent.

Renvoie la dernière heure connue du serveur

Il s'agit de l'heure du dernier tick entrant pour l'un des symboles de Market Watch. Ce délai peut changer le week-end, si le courtier fournit des cotations même le week-end et les jours fériés. Mais la grande majorité des courtiers n'ont rien de tel - vous obtiendrez toujours l'heure du dernier tic-tac du vendredi pendant le week-end.

TimeCurrent - Документация на MQL4
  • docs.mql4.com
TimeCurrent - Документация на MQL4
 
Ihor Herasko:

Pourquoi tu ferais ça ? Vous pouvez constater par vous-même qu'il ne change pas. En outre, il existe une formulation claire dans la documentation: https://docs.mql4.com/ru/dateandtime/timecurrent.

Il s'agit de l'heure du dernier tick entrant pour n'importe quel symbole de la Market Watch. Le week-end, cette heure peut changer si le courtier fournit des données de cotation même pendant les week-ends et les jours fériés.

En effet, si vous vous rendez au terminal le week-end, l'heure est mise à jour en fonction de la date à laquelle vous êtes entré et il importe peu qu'il y ait des tics ou non.
 
Vasyl Nosal:
En effet, si vous vous rendez à la sortie du terminal, l'heure est mise à jour en fonction de la date à laquelle vous êtes entré dans le terminal et il importe peu qu'il y ait des ticks ou non.

Vous écartez l'évidence sans énoncer vos faits. Où avez-vous vu cela ? Peut-être dans les terminaux des courtiers qui donnent des devis le week-end ? Alors c'est exact - il y aura une mise à jour, mais pas au démarrage du terminal, mais à l'arrivée des ticks.

Même si, très probablement, vous voulez dire à un autre moment. Par exemple, le temps dans le journal. Mais ce temps ne peut être obtenu de manière programmatique. Et ici, nous nous référons exactement à TimeCurrent().

 
Vasyl Nosal:
Parce que si vous vous rendez au terminal le week-end, l'heure est mise à jour à la date à laquelle vous vous êtes connecté et peu importe s'il y a des tics.

Faites une démonstration, s'il vous plaît. Et encore une chose : "Vous parlez de TimeCurrent() - la dernière heure connue du serveur, n'est-ce pas ?". Et, au fait, si l'on en croit votre logique, il suffit de se déconnecter d'Internet (il n'y aura pas de ticks - imitation week-end), d'attendre 5 minutes, puis d'aller au terminal et l'heure est mise à jour dans le terminal ?