Besoin d'aide de la part des développeurs et programmeurs MT4 - page 2

 
stringo:

Très similaire.

1. Le langage MQL4 dispose d'un forum dédié. Pas celui-là.

2. Vous n'avez pas lu la documentation de MQL4, ni l'ancienne ni la nouvelle.

Au lieu de donner un lien vers quelque chose d'utile, tu balances des conneries partout sur le monsieur.

L'illogisme est évident. L'utilisateur peut (contrairement aux versions précédentes) modifier les paramètres d'entrée, et les nouvelles valeurs sont visibles dans l'onglet Entrées, mais elles ne changent pas réellement. Le conseiller expert a un contrôle total de la situation, mais le système ne donne pas les valeurs actualisées des paramètres, et l'utilisateur a l'illusion qu'il a modifié les paramètres d'entrée.

artmedia70, merci. Je vais essayer. Mais je suis presque sûr que ça n'aidera pas. La désinitialisation n'a pas lieu. Est-il possible d'analyser les raisons d'une désinitialisation qui n'a pas eu lieu ? (Aucune trace dans le journal).

Je ne me faisais certainement pas d'illusions sur le fait que quelqu'un puisse m'aider ici. Mais franchement, je ne m'attendais pas à ce que les développeurs ferment les yeux sur une chose tout à fait évidente. Bien sûr, comment un développeur pourrait-il admettre que c'est un bug logiciel ? Il est plus facile de reprocher à l'utilisateur d'orchestrer une boucle "pas politiquement correcte". Ils diront également que j'ai mal mis en retrait le texte et que je n'ai pas mis de commentaires. Cette boucle fonctionne parfaitement, et elle est tout simplement irremplaçable dans ces schémas, qui m'ont été commandés par certains clients. Mais l'initialisation de nouvelles valeurs des paramètres d'entrée, qui ont été rapidement modifiés par l'utilisateur, ne fonctionne pas. Et en traitant une personne d'"ordure" et d'"analphabète" (qui ne lirait pas la documentation), vous ne réfutez pas le fait que l'initialisation [des paramètres avec de nouvelles valeurs] ne fonctionne pas.

(Et encore une fois, peut-être que je confonds la cause et l'effet ? Les "crochets" devraient toujours être présents de manière inaperçue, pour faciliter la vie des utilisateurs).

 

Désolé de poster en anglais, mais je pense que vous comprendrez.

Vous utilisez une boucle sans fin, donc bien sûr init/deinit ne sont pas appelés. Un EA est un thread unique, donc même si les événements d'init/deinit sont placés dans la file d'attente de traitement, vous ne laissez pas une occasion de les exécuter.

 
Wex:

Au lieu de donner un lien vers quelque chose d'utile, tu balances des conneries sur la personne.

L'illogisme est évident. L'utilisateur a la possibilité (contrairement aux versions précédentes) de modifier les paramètres d'entrée, et les nouvelles valeurs sont visibles dans l'onglet Entrées, mais elles ne changent pas réellement. Le conseiller expert a le contrôle total de la situation, mais le système ne lui donne pas les valeurs actualisées des paramètres, et l'utilisateur a l'illusion qu'il a modifié les paramètres d'entrée.

artmedia70, merci. Je vais essayer. Mais je suis presque sûr que ça n'aidera pas. La désinitialisation n'a pas lieu. Est-il possible d'analyser les raisons d'une désinitialisation qui n'a pas eu lieu ? (Aucune trace dans le journal).

Je ne me faisais certainement pas d'illusions sur le fait que quelqu'un puisse m'aider ici. Mais franchement, je ne m'attendais pas à ce que les développeurs ferment les yeux sur une chose tout à fait évidente. Bien sûr, comment un développeur pourrait-il admettre que c'est un bug logiciel ? Il est plus facile de reprocher à l'utilisateur d'orchestrer une boucle "pas politiquement correcte". Ils diront également que j'ai mal mis en retrait le texte et que je n'ai pas mis de commentaires. Cette boucle fonctionne parfaitement, et elle est tout simplement irremplaçable dans ces schémas, qui m'ont été commandés par certains clients. Mais l'initialisation de nouvelles valeurs des paramètres d'entrée, qui ont été rapidement modifiés par l'utilisateur, ne fonctionne pas. Et en traitant une personne d'"ordure" et d'"analphabète" (qui ne lirait pas la documentation), vous ne réfutez pas le fait que l'initialisation [des paramètres avec de nouvelles valeurs] ne fonctionne pas.

(Et encore une fois, peut-être que je confonds la cause et l'effet ? Les "crochets" devraient toujours être présents de manière inaperçue, pour faciliter la vie des utilisateurs).

Essayez-le ;)
 
angevoyageur:

Désolé de poster en anglais, mais je pense que vous comprendrez.

Vous utilisez une boucle sans fin, donc bien sûr init/deinit ne sont pas appelés. Un EA est un thread unique, donc même si les événements d'init/deinit sont placés dans la file d'attente de traitement, vous ne laissez pas une occasion de les exécuter.

Eh bien, c 'est possible.

 
Wex:

Eh bien, si le Conseiller Expert est en boucle et qu'il n'appelle pas vraiment la désinitialisation depuis la boucle, alors essayez d'interroger les changements des paramètres d'entrée dans OnChartEvent().

Par exemple, affichez les paramètres requis par objets sur le graphique. Le fait de cliquer sur un paramètre(CHARTEVENT_OBJECT_CLICK) appelle le champ de saisie LabelEdit, où vous saisissez de nouveaux paramètres(CHARTEVENT_OBJECT_ENDEDIT) et les envoyez à l'expert via un événement utilisateur(CHARTEVENT_CUSTOM+n). Dans l'expert, vous interrogez les événements et réagissez aux modifications des paramètres de saisie.

 
artmedia70:

Eh bien, si l'expert est en boucle, et qu'il ne provoque vraiment pas un cycle de désinitialisation essayez à OnChartEvent () d'organiser un sondage de changement de paramètres d'entrée.

Par exemple, les options que vous souhaitez pour afficher un objet sur le graphique. Un clic sur l'option (CHARTEVENT_OBJECT_CLICK) fait apparaître le champ de saisie LabelEdit, où l'on peut saisir de nouveaux paramètres ( CHARTEVENT_OBJECT_ENDEDIT ) et les envoyer à l'expert par l'événement utilisateur (CHARTEVENT_CUSTOM + n), l'expert réagissant ainsi aux modifications des paramètres de saisie.

Ne fonctionnera pas. Même problème, votre EA est dans une boucle sans fin, aucun gestionnaire d'événement ne sera exécuté.
 
angevoyageur:
Ne fonctionnera pas. Même problème, votre EA est dans une boucle sans fin, aucun gestionnaire d'événement ne sera exécuté.
Vraiment ? Je ne savais pas ... Je n'ai jamais écrit d' experts en boucle avec OnChartEvent()...
 
stringo:

Très similaire.

1. Le langage MQL4 dispose d'un forum dédié. Pas celui-là.

2. Vous n'avez pas lu la documentation de MQL4, qu'elle soit ancienne ou nouvelle.

1. Lorsque vous installez le terminal MetaTrader4 dans la fenêtre d'installation il y a une invitation au forum, ce forum et pas un autre.

2. A mi-chemin de la nouvelle fiche. Dans le passé, la fenêtre des propriétés de l'EA en boucle ne s'ouvrait pas. Maintenant, c'est le cas, et j'aimerais que la fenêtre réagisse aux changements de paramètres. Ou ne pas ouvrir la fenêtre des propriétés, afin de ne pas perturber l'utilisateur.

 
Wex, utilisez un minuteur, vous pouvez vous dispenser de faire des boucles maintenant.
 
Integer:

1. Lors de l'installation du terminal MetaTrader4, dans la fenêtre d'installation, il y a une invitation au forum, ce forum et pas un autre.

2. A mi-chemin de la nouvelle fiche. Dans le passé, la fenêtre des propriétés de l'EA en boucle ne s'ouvrait pas. Maintenant, c'est le cas, et j'aimerais que la fenêtre réagisse aux changements de paramètres. Ou bien la fenêtre des propriétés peut ne pas être ouverte, pour ne pas dérouter l'utilisateur.

1. Regardez le profil de Wex. Il est un développeur professionnel de MQL4. Il joue les idiots. Ou il est en train de troller. La raison n'est pas claire.

2. vous devez y réfléchir. Vous ne pouvez pas interrompre de force la boucle sur l'arrivée de nouveaux paramètres. Quelque chose comme la fonction IsNewParameter qui devrait être appelée par le programmeur lui-même dans la boucle sans fin.