Questions sur MQL4.

 
Slawa 08.11.05 17:51 <br / translate="no">.
Est-il acceptable d'utiliser la fonctionMessageBox() dans les indicateurs selon les règles MQ4 ?
Non. Et GetLastError renverra l'erreur correspondante.
Est-il acceptable d'utiliser la fonction MessageBox() dans deinit()?

Il est nécessaire d'indiquer à l'utilisateur certaines informations lorsqu'il ferme l'EA. Et déclencher des événements en fonction de leurs réponses. Comment faire ?
 
deinit s'exécute pendant 2,5 secondes - l'utilisateur doit-il répondre aussi rapidement ? =)
Vous pouvez écrire ce qui doit être fait dans un fichier, puis écrire un script pour le lire, afficher une boîte à messages et, en fonction de la réponse, faire quelque chose.
Ce n'est pas très clair ce que vous devez faire. Et pourquoi ?
 
komposter,
tu dois...
Eh bien, en 2 mots.
Premièrement, deinit() ne s'exécute pas pendant 2,5 secondes, il s'exécute indéfiniment. Du moins dans mon scénario.
Deuxièmement, toute cette cuisine n'est nécessaire que pour gérer les coordonnées des objets entre les ticks. Pour cette raison, il n'est pas judicieux de placer le code de traitement dans Start, car il démarre en tic-tac, c'est-à-dire qu'il ne travaillera qu'une seule fois et restera inactif le reste du temps.

Après cela, les problèmes commencent et la programmation devient une activité créative, parce que (eh bien, je ne sais pas pourquoi) le Slip ne fonctionne pas dans les indicateurs, le MB est interdit, etc. etc. Cependant, dans certains cas, mes boucles ne consistent qu'en des appels à GlobalBar et mon code ne doit pas être lancé avant que certaines conditions ne soient remplies. Sans slip, ces boucles gèleraient Traida...

Et comme je veux tout faire bien, je dois dépenser de l'argent pour des solutions ornementales.
Apparemment, vous ne deviendrez pas vraiment bon, mais comme chez Microsoft - "assez bon" (c'est leur slogan).
Et puis il y a des photos sur le web avec l'image de Microsoft d'un clavier avec 3 touches : Ctrl, Alt et Del.

Nous ferions mieux de nous laisser guider par Linux... :)
 
Faites-en donc une boucle infinie au départ - quelle différence cela fait-il "où" si vous ne vous souciez pas des tics ?
 
J'ai ce cycle dans l'indicateur et il ne peut être utilisé nulle part ailleurs.
Cela est dû au fait que dans le script, les fonctions commerciales sont autorisées, il y a aussi leurs propres boucles, et il n'y a pas de place pour les tâches secondaires (mais aussi nécessaires). Mais le script n'en autorise qu'un seul. Par conséquent, nous devons diviser la solution en :
1 expert, 1 script et (jusqu'à présent) 2 indicateurs.
Et ces indicateurs ont également leurs propres cycles de traitement graphique entre les ticks.
En plus, je ne peux pas décharger du début. Si j'ai seulement inyte et deinit dans l'indicateur, alors il suffit de sortir de la boucle, et ils se déchargeront de la fenêtre - ils réagissent à un certain événement, par exemple, le déchargement de l'EA.
C'est dommage, ils ne peuvent pas être chargés.

Mais peu importe. Je le ferai quand même :) Je vais devoir faire des efforts.
 
SKif:
Cela est dû au fait que les fonctions commerciales sont autorisées dans le script, qu'il possède également ses propres boucles et qu'il n'y a pas de place pour les tâches secondaires (mais également nécessaires).
Pourquoi pas ? S'il fonctionne déjà en mode "infini", insérez quelques lignes dans la boucle déjà créée, et si votre script est "unique", faites-en un autre qui capte les mouvements des objets.
Ou avez-vous une question de principe sur la quantité ?)))
 
Pourquoi pas un lieu ? Parce qu'il y a beaucoup d'informations à traiter. Alors que les cycles sont presque vides, entre les tics, je parviens à les faire défiler la plupart du temps 10 à 200 fois, mais par petits intervalles - 2 à 3 fois chacun. Et les informations seront ajoutées - j'ai peur d'aller au-delà de l'intervalle intertick.
 
Pourquoi dépendre d'eux entre deux tics ? Pourquoi dépendre d'eux ?
C'est un peu compliqué, je n'y reviendrai pas : ..... Vous trouverez la solution ;)
 
О ! (186)). (186)
 
Pourquoi entre deux tics
? !) Tu me diras pourquoi plus tard. C'est vrai que j'ai du mal, mais c'est absurde. L'essentiel est le résultat :)
Comment ça se passe pour vous ?
 
Comment ça se passe pour vous ?
Expert ici, expert là... aller un peu ;)
Raison: