Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
J'ai un expert avec lequel j'essaie de faire face aux événements.
Je reçois des événements qui ne correspondent pas à des actions.
Correspondant exactement à un clic sur le graphique et à un clic sur un bouton
Un événement controversé id=9(CHARTEVENT_CUSTOM), qui est généré lorsque, par exemple, le graphique est déplacé et qu'il y a environ 10 événements similaires.
L'événementCHARTEVENT_OBJECT_ENDEDIT n'a pas été vérifié.
Tout n'est pas clair avec tout le reste. Soit la description ne correspond pas au numéro de l'événement, soit l'événement de création d'un objet est généré de manière incorrecte lors de la création manuelle d'un objet.
Dans l'ensemble, aidez-nous, s'il vous plaît.
Tu ferais mieux de faire comme ça :
Je fais probablement quelque chose de mal, mais je vais essayer de décrire plus en détail les raisons de mon incompréhension.
Vous affectez initialement des correspondances numériques aux constantes numériques déjà affectées CHARTEVENT_XXXXXXXXXXX...
Où puis-je voir la valeur numérique des constantes CHARTEVENT_XXXXXXXXXXX ?
Je ne l'ai pas trouvé, j'ai donc expérimenté et découvert queCHARTEVENT_KEYDOWN = 0 et CHARTEVENT_CLICK = 4, ce qui correspond à l'ordre de description de ces constantes dans l'aide.
J'ai attribué des numéros aux autres événements en conséquence, il y a donc un tableau event[10].
Malheureusement, je ne comprends pas votre question. Qu'est-ce qui ne va pas exactement ?
Sur la base de ma numérotation des événements et de l'utilisation du conseiller expert de mon poste précédent :
Par exemple, je dessine une ligne de tendance -> événementCHARTEVENT_OBJECT_CHANGE,
déplacer cette ligne -> l'événementCHARTEVENT_OBJECT_CHANGE,
modification des propriétés via le menu -> 2 événementsCHARTEVENT_CHART_CHANGE et CHARTEVENT_CUSTOM,
supprimez-le en appuyant sur la touche Del -> événement uniquement CHARTEVENT_KEYDOWN, (si la numérotation de l'événement est erronée, il devrait toujours y avoir 2 événements, la suppression et la pression du bouton).
Tout ceci est basé sur ma numérotation.
Suivant...
J'utilise un conseiller expert:
Dessiner une ligne de tendance -> ChartEvent :id=OBJECT_DRAG, l=0 d=0.000000 s=H1 Trendline 40716
déplacer cette ligne -> ChartEvent :id=OBJECT_DRAG, l=0 d=0.000000 s=H1 Trendline 40716
Je change les propriétés via le menu -> ChartEvent :id=OBJECT_CHANGE, l=0 d=0.000000 s=H1 Trendline 40716 et ChartEvent :id=CHART_CHANGE, l=0 d=0.000000 s=
La situation ne s'est pas éclaircie.
Juste au cas où :
MT5 64x - build 458.
Le système est W7 64x Home Extended.
Merci pour votre réactivité ;))
Je fais probablement quelque chose de mal, mais je vais essayer de décrire plus en détail la raison de mon incompréhension.
Où puis-je trouver la valeur numérique des constantes CHARTEVENT_XXXXXXXXX ?
Je ne l'ai pas trouvé, j'ai donc expérimenté et découvert queCHARTEVENT_KEYDOWN = 0 et CHARTEVENT_CLICK = 4, ce qui correspond à l'ordre de description de ces constantes dans l'aide.
J'ai donné au reste des événements des numéros en conséquence, c'est ainsi que le tableau event[10] s'est avéré.
Cela ne doit en aucun cas être fait !
Les valeurs numériques sont attribuées par le développeur et peuvent être modifiées à tout moment.
Seules les constantes de caractères peuvent être utilisées
--------------
oncleVic vous a donné un exemple d'utilisation correcte (ou mon extrait d'aide).
--------------
Qu'est-ce que tu fais ? Pourquoi auriez-vous besoin d'une représentation numérique ?
Cela ne doit en aucun cas être fait !
Les valeurs numériques sont attribuées par le développeur et peuvent être modifiées à tout moment.
Seules les constantes de caractères peuvent être utilisées
OK. Je suis d'accord que vous ne devez pas le faire.
Oubliez mon travail manuel).
Continuons...
oncleVic vous a donné un exemple d'utilisation correcte (enfin, ou mon aide)
Comme je l'ai écrit ci-dessus, en utilisant l'exemplede l'oncleVic, vous obtenez également des événements qui ne correspondent pas à l'action.
kPVT:
Dessin d'une ligne de tendance -> ChartEvent :id=OBJECT_DRAG, l=0 d=0.000000 s=H1 Trendline 40716 Au lieu deCHARTEVENT_OBJECT_CREATE.
.....
Qu'est-ce que tu fais ? Pourquoi auriez-vous besoin d'une représentation numérique ?
C'est une longue explication, et ça n'a pas d'importance. Oublions ma numérotation.
L'essentiel est que j'essaie de donner un sens aux événements, mais même en utilisant l'exempled'oncleVic, je ne comprends pas l'incohérence entre les événements générés et les actions effectuées.
OK. Je suis d'accord que vous ne pouvez pas faire ça.
Oubliez mes soucis...).
Continuons...
Comme je l'ai écrit ci-dessus, en utilisant l'exemplede l'oncleVic, nous obtenons également des événements qui ne correspondent pas à l'action.
kPVT:
Ajoutez-le à l'initialisation :
Tu vas t'en sortir :
Alex, merci beaucoup, c'est réglé.
Ajouter à l'initialisation :
....
Ajouté au bloc d'experts
Chaque chose est à sa place.
J'ai consulté l'aide, il n'est écrit nulle part que ces deux événements doivent être "initialisés" pour que tous les autres événements soient corrects.
Je les ai commentés et tout fonctionne.
Il s'avère que si l'indicateur/conseiller expert n'a pas de bloc OnInit, il y a un problème avec les événements.
C'est peut-être l'idée, mais les programmeurs de mql5 devraient le savoir, juste au cas où.
J'ai généré un Expert Advisor dans Wizard, mais le testeur génère un Core 1 qui s'est arrêté à cause de l'erreur critique OnInit, quelqu'un a-t-il rencontré ce problème ? Comment le résoudre ? Après tout, Wizard, j'aurais raté quelque chose là...
Joignez le code source résultant. Et les paramètres de test.
Il ne s'est pas reproduit.
J'ai demandé plus de paramètres de test. Je l'ai fait :
La version et le débit binaire de MT5.