Questions sur MQL4. - page 2

 
komposter, eh bien, aidez-moi.
Répondez à la question initiale.
Je suis en train de faire des miracles ici...
 
Vous parlez de la boîte de messages ?
Je veux dire, vérifier par vous-même ?
 
Oui. Ou en quelque sorte.
J'en viens à la conclusion qu'un CF suspendu pendant un certain temps avant que le bouton ne soit pressé ne permet pas à l'EA d'être connecté plus tard.
Mettez n'importe quel MB dans deinit, chargez et déchargez EA.
1. Si vous répondez rapidement OK, il reste possible de reconnecter l'EA.
2. Si vous attendez un peu, l'EA ne se joindra pas.

J'ai presque perdu la tête quand je l'ai compris...
 
Avez-vous essayé de lire les journaux ? =))))
Je vous l'ai dit dans le premier message - deinit fonctionne pendant 2,5 secondes.
La boîte retarde le processus, et l'EA est arrêté de force. Après cela, il ne fonctionne plus (il vient de le découvrir).
Au fait, cela fonctionne dans le script ;)
 
Tu vois, le truc c'est que...
Laissez-le fonctionner aussi longtemps que vous le souhaitez, mais pourquoi (ou pourquoi) avons-nous besoin de la difficulté de connecter l'EA suivante après ?

C'est censé être comme ça, ou c'est un défaut ? Peut-être que les développeurs peuvent nous le dire...
 
Peut-être que les développeurs nous le diront
... peut-être qu'ils le feront =)
mais jusqu'à présent ils lisent rarement (ou peu ?) ce forum...
 
komposter:
deinit s'exécute pendant 2,5 secondes - l'utilisateur doit-il répondre aussi rapidement ? =)
Vous pouvez écrire dans un fichier ce qui doit être fait, puis le script le lira, affichera une boîte à messages et, en fonction de la réponse, fera quelque chose.
en règle générale, si le script n'est pas bouclé à l'infini, son désinit peut durer longtemps. en effet, si le script n'est pas éteint de l'extérieur, il n'y a personne pour contrôler le délai d'attente. le désinit du script se produit naturellement immédiatement après l'exécution de la fonction de démarrage. mais pour que le désinit expert fonctionne, l'EA doit d'abord être éteint de l'une des 6 façons suivantes
 
stringo,
si le script n'est pas bouclé indéfiniment, son deinit peut fonctionner pendant très longtemps.
Je ne comprends pas vraiment. Qu'est-ce que le bouclage a à voir avec la durée de désinit ?
 
SKif:
stringo,
si le script n'est pas bouclé indéfiniment, son deinit peut fonctionner pendant très longtemps.
Je ne comprends pas vraiment. Qu'est-ce que le bouclage a à voir avec la durée de deinit ?
si le script a une boucle infinie - il fonctionnera jusqu'à ce qu'il soit désactivé (alors le deinit sera limité à 2.5 sec), et sinon - il fonctionnera d'abord le start et ensuite le deinit (s'il y en a un) et le deinit fonctionnera aussi longtemps que vous le souhaitez
 
SKif:
Je ne comprends pas vraiment. Qu'est-ce que le bouclage a à voir avec les durées de désinit ?
c'est très simple. un script bouclé à l'infini ne se termine pas de lui-même. il ne peut être éteint que de manière externe (supprimer le script de manière explicite, accrocher un nouveau script, changer le symbole/la période du graphique, fermer le graphique, fermer le terminal). lorsque la commande de fermeture du script (et de l'EA également) est passée, l'attente de 2,5 secondes est définie immédiatement après. Si le script (ou l'expert) est si "stupide" qu'il ne vérifie pas IsStopped, alors, après 2 secondes et demie, il est placé un drapeau d'arrêt, qui est vérifié automatiquement après chaque itération de la boucle et après chaque appel d'une fonction quelconque.
Si le script termine son travail, il exécute deinit et personne ne le surveille d'en haut et aucun timeout n'est vérifié.