Questions des débutants MQL4 MT4 MetaTrader 4 - page 238

 
Ventura:

Artyom, merci, j'attendais vos conseils. En attendant, je cherchais moi-même des solutions possibles. Ce matin, j'ai trouvé comment afficher la fenêtre des paramètres de manière programmatique !

J'ai découvert que la fenêtre est appelée en appuyant sur F7. Une recherche sur Internet a montré que je peux réaliser un affichage des touches de fonction à l'aide de MQL.

Le reste est une question de technique. Je colle le code ici pour le partager avec vous si quelqu'un peut le trouver utile :

extern double BuyStop, SellStop ;

...

Vous êtes les bienvenus. Vous risquez d'attendre longtemps ma réponse/mes conseils :) D'autres vous ont dit la même chose.

Il n'y a pas de solution pour le marché. Et vous avez besoin de PostMessageW()

 
Ventura:

Mais je me suis réjoui trop tôt. J'ai réussi à ouvrir la fenêtre des paramètres de manière programmatique, mais les valeurs que j'ai assignées aux paramètres dans la procédure n'ont pas été sauvegardées (((

C'est-à-dire que lorsque j'ouvre la fenêtre des paramètres, je vois les valeurs spécifiées lors de l'initialisation, dans mon cas des zéros.

Existe-t-il un moyen de transférer les valeurs calculées dans le formulaire des paramètres ?

Non. L'appel des paramètres avec F7 quittera l'EA via OnDeInit et redémarrera l'EA via OnInit. Voici comment l'EA fonctionne dans un graphique. Croustillant, ça ne marche même pas. Le formulaire des paramètres ne fonctionne que dans un sens, les valeurs d'entrée et d'extérieur sont lues par programme (dans 5ka, il n'y a pas d'extérieur, d'ailleurs) avant l'initialisation de l'EA. La deuxième fois, OnInit n'est pas appelé pendant l'opération EA en cours.

Vous ne pouvez que tirer crûment le code de l'EA, y apporter des modifications, le compiler et appeler le formulaire de paramétrage) Mais c'est une tâche sisyphéenne))). Un panneau similaire à la forme des paramètres est plus correct...

 
Valeriy Yastremskiy:

Non. L'appel des paramètres avec F7 met fin à l'EA via OnDeInit, et relance l'EA via OnInit. Voici comment l'EA fonctionne dans le graphique. Croustillant ne fonctionne même pas. Le formulaire des paramètres ne fonctionne que dans un sens, les valeurs d'entrée et d'extérieur sont lues par programme (dans 5ka, il n'y a pas d'extérieur, d'ailleurs) avant l'initialisation de l'EA. La deuxième fois, OnInit n'est pas appelé pendant l'opération EA en cours.

La seule façon de s'entrecroiser est d'extraire le code de l'EA, d'y apporter des modifications, de le compiler et d'appeler le formulaire de paramètres) Mais c'est une tâche sisyphéenne))). Un panneau similaire à la forme des paramètres est plus correct...

Merci, je vais essayer. J'ai pensé à une autre variante - appeler le formulaire des paramètres, puis par des fonctions API écrire dans les champs Edit les valeurs des paramètres.

A propos, comment faire en sorte que lorsque je lance un EA, le formulaire des paramètres ne soit PAS affiché ? Je l'appelle de manière programmatique, donc il n'y a pas de sens dans la première émission.

 
Ventura:

Merci, je vais essayer. J'ai pensé à une autre option - appeler le formulaire des paramètres, puis par des fonctions API pour écrire dans les champs d'édition les valeurs des paramètres.

A propos, pourriez-vous m'indiquer comment faire pour que le formulaire des paramètres ne s'affiche PAS au démarrage de l'EA ? Je l'appelle de manière programmatique, donc il n'y a pas de sens dans la première émission.

générer de manière programmatique un modèle avec tous les paramètres requis et ensuite ChartApplyTemplate()

 
Ventura:

Merci, je vais essayer. J'ai pensé à une autre option - appeler le formulaire des paramètres, puis par des fonctions API pour écrire dans les champs d'édition les valeurs des paramètres.

A propos, pourriez-vous m'indiquer comment faire pour que le formulaire des paramètres ne s'affiche PAS au démarrage de l'EA ? Je l'appelle de manière programmatique, donc il n'y a pas de sens dans la première émission.

Je ne comprends pas la logique pour laquelle il faut le faire) Il y a la POO, n'importe quelle EA peut être enveloppée dans une classe, et l'appeler à partir d'une classe avec des paramètres obtenus / calculés comme souhaité. Et ce, sans quitter le champ d'application du µl.

Je ne sais pas comment faire pour qu'un formulaire ne s'affiche pas au démarrage manuel.

Pour aller plus loin, il est possible d'écrire des paramètres dans parammysov.set et de les lire. Mais il s'agit d'un complément complexe.

 
Maxim Kuznetsov:

générer de manière programmatique un modèle avec tous les paramètres nécessaires et ensuite ChartApplyTemplate()

Maxim, brillant ! Je ne savais pas que les paramètres de l'EA étaient enregistrés dans un modèle. Cette option est la plus facile, je vais donc procéder de cette façon. Il n'y a qu'un seul problème - il n'affiche pas le formulaire des paramètres au démarrage.

Mais ce n'est pas grave, j'aurais juste besoin d'appuyer encore une fois sur ОК.

 

Bonjour, aidez-moi à créer un algorithme simple où les anciens ordres sont supprimés si de nouveaux sont formés...

 

Les gars. MT4 ne fonctionne pas. Affiche l'heure d'hier comme étant 23:59. Même situation en ligne. Depuis le téléphone via l'internet mobile, même situation. Qu'est-ce que c'est ?

 
dvimax:

Les gars. MT4 ne fonctionne pas. Affiche l'heure d'hier comme étant 23:59. Même situation en ligne. Depuis le téléphone via l'internet mobile, même situation. Qu'est-ce que c'est ?

Je devine que c'est un jour de congé.

 
Messieurs ! Comment restaurer les noms non identifiés des instruments sous le graphique MT4