Caractéristiques du langage mql5, subtilités et techniques - page 73

 
Kirill Belousov:

Au prix de clôture, trouvez la bougie dans une maison de courtage non affectée sur l'historique où vous connaissez le GMTOffset. La différence entre les heures des chandeliers donnera la différence entre les GC. Ajoutez à la différence le GMT du connu et vous obtenez la différence de GMT de l'inconnu.

On ne sait jamais l'heure du serveur commercial. Vous ne connaissez que l'heure de la dernière cotation du symbole.

Les chandeliers ont très probablement une durée d'une heure.

Ce n'est pas une façon sérieuse de le trouver, allez à un autre terminal.

Quelles autres variantes existe-t-il ?

 
Vitaly Muzichenko:

Eh bien, ce n'est pas une façon sérieuse de le trouver, allez à un autre terminal.

quelles autres options7

appelez le courtier ou consultez le site web

Vous pouvez probablement désapparier les cartes via le Web sans passer par un autre terminal.

P.S. Quel est exactement le problème pour lequel vous avez besoin du temps d'un courtier inconnu ?

 
Kirill Belousov:

appelez le courtier ou consultez le site web

J'ai besoin de le découvrir au niveau logiciel)

 
Vitaly Muzichenko:

J'ai besoin de le découvrir au niveau logiciel)

Et quelle est la tâche, où vous avez besoin du temps d'un courtier inconnu ?

 
Kirill Belousov:

Quelle est la tâche réelle pour laquelle vous avez besoin du temps d'un courtier inconnu ?

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Particularités de mql5, trucs et astuces

Vitaly Muzichenko, 2018.03.25 21:34

Mais les chandeliers indiquent également l'heure du serveur.

Supposons que j'ai maintenant démarré le terminal à partir de n'importe quel concessionnaire, il n'y a pas de cotations, mais il y a la dernière enregistrée dans l'aperçu du marché à 23:58, mais avec quel décalage GMT cela fonctionne - je ne sais pas.

Ou suis-je déjà stupide et cela peut être découvert très facilement ?

P.S. Supposons que je me perde dans le temps et que je ne fasse plus la distinction entre le jour et la nuit, les jours de la semaine, l'heure.

Comment savoir qu'il n'y a pas de devis parce que c'est le week-end, ou par exemple le jeudi pas de devis, parce que le serveur traîne dans la salle des marchés ?

Je vois une telle solution, mais je ne vois pas comment la mettre en œuvre si je n'ai pas le temps sur le serveur de négociation :

if( TimeCurrent()<TimeServer()-60 ) return( "нет котировок уже 1 минуту" );

 
Vitaly Muzichenko:

Lancez une minuterie et vérifiez l'état d'avancement des citations.

S'ils n'ont pas changé depuis longtemps, cela signifie que la société de courtage a raccroché, ou que c'est jeudi ou le week-end).

 
Kirill Belousov:

Lancez une minuterie et vérifiez l'état d'avancement des citations.

S'il n'y a pas eu de changement depuis longtemps, cela signifie que soit BC a raccroché, soit c'est jeudi ou week-end ;))

Le timer est lancé, il y a TimeCurrent(). Que faire ensuite, que comparer ? On peut l'écrire en Ontika avec l'heure du dernier tic et le comparer avec celui-ci.

N'y a-t-il pas une autre solution ?

PS.TimeServer() // l' heure du serveur de commerce serait très utile
 
Vitaly Muzichenko:

Le timer est en cours d'exécution, TimeCurrent() est disponible. Mais ensuite, à quoi le comparer ? Il est possible d'écrire l'heure du dernier tic dans Ontic, et de la comparer avec celle-ci.

N'y a-t-il pas une autre solution ?

PS.TimeServer() // l'heure du serveur de commerce serait très utile

TimeCurrent() dans OnTimer() montre l'heure du dernier tick de tous les instruments Market Watch.

Inside OnTick() montre l'heure de la dernière cotation par le symbole actuel.

Vous fixez le fait de changer dans les Variables Globales.

Et à chaque appel de OnTimer() vous le comparez.

Si une autre minuterie est lancée et que l'heure d'arrivée du devis n'a pas changé, vous commencez à compter l'heure de l'absence de devis.

Vous tirez des conclusions et réagissez.

En outre, vous disposez de cotations et de sessions de négociation pour chaque instrument. À partir de là, vous pouvez savoir s'il s'agit d'une période de négociation ou non.

P.S. D'après ce que j'ai compris, vous n'avez pas besoin d'une heure de serveur. Vous devez définir l'absence de citations.

 
Kirill Belousov:

TimeCurrent() dans OnTimer() montre l'heure d'arrivée du dernier tick de tous les instruments Market Watch.

Vous fixez le fait de changer dans les Variables Globales.

Et à chaque appel de OnTimer() vous le comparez.

Si le compte à rebours est lancé et que l'heure d'arrivée du devis n'a pas changé, vous commencez le compte à rebours pour l'heure d'absence de devis.

Vous tirez des conclusions et réagissez.

En outre, vous disposez de cotations et de sessions de négociation pour chaque instrument. À partir de là, vous pouvez savoir s'il s'agit d'une période de négociation ou non.

P.S. D'après ce que j'ai compris, vous n'avez pas besoin d'une heure de serveur. Vous devez établir le fait de l'absence de devis.

Elle est très coûteuse en termes de productivité.

Ils ont souvent les yeux bandés.


 
Je n'ai pas vérifié.

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Historique des transactions au sein de OnTesterPass

Anthony Garot, 2018.03.29 02:34

J'ai creusé un peu plus aujourd'hui.

Il semble que lorsqu'on utilise les agents agricoles du réseau local, un fichier ne peut pas être ouvert dans l'événement OnTester().

Je sais que OnTester() se déclenche parce que les données définies dans OnTester() sont renvoyées à OnTesterPass() par les agents via des cadres.

Ainsi, mon approche consistant à déverser les données dans un fichier à partir de OnTester() ne fonctionne que pour les agents locaux, pas pour les agents du réseau local, et probablement pas pour les agents du réseau en nuage MQL5.

Raison: