Problème de globaux de terminal - page 2

 

Merci, Deep Thought. Je vais y jeter un coup d'oeil. Je n'ai pas essayé depuis un certain temps. J'ai commencé à programmer à la fin des années 70, quand les IDES et les débogueurs n'existaient pas. Les PC n'existaient même pas. Nous utilisions des éditeurs de texte pour créer nos programmes et insérions des instructions d'impression pour "déboguer". J'ai utilisé les alertes parce que je peux les voir quand elles se produisent et j'obtiens automatiquement un journal que je peux consulter en arrière. Hé, c'est mieux que ce que nous avions à l'époque :-)

Vous avez raison au sujet des informations disponibles. Elles sont vraiment insuffisantes. J'obtiens la plupart de mes informations en venant sur le forum et en posant des questions. J'essaie de fournir des informations utiles en retour si je trouve une solution à un problème de programmation. Nous sommes tous des développeurs. Nous devons travailler ensemble ici. C'est un plaisir de faire votre connaissance :-)

 
Huh, les années 70 ? J'ai une TI-57 avec (je suppose) 100 pas. Est-ce que ça compte pour le développement de carrière ?
 
Dans mon livre, c'est le cas. Programmer sur une calculatrice programmable demande une certaine puissance mentale. Ce n'est certainement pas la chose la plus facile au monde :-)
 
ProfessorMetal:

Merci, Deep Thought. Je vais y jeter un coup d'oeil. Je n'ai pas essayé depuis un certain temps. J'ai commencé à programmer à la fin des années 70, quand les IDES et les débogueurs n'existaient pas. Les PC n'existaient même pas. Nous utilisions des éditeurs de texte pour créer nos programmes et insérions des instructions d'impression pour "déboguer". J'ai utilisé les alertes parce que je peux les voir quand elles se produisent et j'obtiens automatiquement un journal que je peux consulter. Hé, c'est mieux que ce que nous avions à l'époque :-)

Vous avez raison au sujet des informations disponibles. Elles sont vraiment insuffisantes. J'obtiens la plupart de mes informations en venant sur le forum et en posant des questions. J'essaie de fournir des informations utiles en retour si je trouve une solution à un problème de programmation. Nous sommes tous des développeurs. Nous devons travailler ensemble ici. C'est un plaisir de faire votre connaissance :-)

Bonjour,

Quelles sont les informations qui vous manquent concernant le débogueur ? Avez-vous consulté le fichier d'aide de MetaEditor ?

Il y a un bug connu avec la build 646, avec un correctif disponible.

 

Oui, j'ai vérifié le fichier d'aide. Certaines de ces informations n'étaient apparemment pas disponibles lorsque je l'ai fait (c'était dans la version 600 ou plus, si je me souviens bien). Je ne me souviens pas avoir vu un onglet de débogage dans la boîte de dialogue Options à ce moment-là. Je n'ai pas non plus vu de mention à ce sujet dans la documentation. De toute évidence, le correctif 646 n'était pas disponible à l'époque. Si vous le voulez bien, clarifiez quelques points pour moi. J'écris et conserve le code de mon projet (ainsi qu'une copie du MetaEditor actuel) dans un répertoire dédié à cet effet et je copie les exécutables dans le dossier d'installation MT4 approprié pour les tests (en avant seulement, je ne fais pas de back test). Il me semble que le projet que vous essayez de déboguer doit se trouver dans le dossier approprié de votre installation MT4 et que vous devez utiliser l'application MetaEditor à partir de votre application MT4 en cours d'exécution et ouvrir les fichiers mq4, etc. qui résident dans le dossier d'installation, sinon le débogueur ne saura pas ce que vous essayez de déboguer. L'indicateur sur lequel je travaille n'a qu'un seul fichier mq4, donc je suppose que c'est ce qui doit être ouvert dans MetaEditor. Est-ce exact ? C'est l'approche que j'ai adoptée depuis le début, en supposant que le débogueur et MT4 en cours d'exécution ne pouvaient rien savoir de ce que j'avais dans mon répertoire de développement séparé.

Je n'y arriverai probablement pas avant le début de la semaine prochaine. Je suis aux États-Unis et j'ai travaillé toute la nuit. Il est temps pour moi d'aller me coucher, comme on dit ici aux États-Unis. Merci pour votre réponse et je ne manquerai pas de poster et de vous faire savoir ce que je rencontre lorsque j'essaye l'incarnation actuelle du débogueur. Comme je l'ai dit précédemment, je sais que ce que MQ fait ici n'est pas trivial. Je serai heureux d'aider de toutes les manières possibles.

Passez un bon week-end, angevoyageur.

 
ProfessorMetal:

Oui, j'ai vérifié le fichier d'aide. Certaines de ces informations n'étaient apparemment pas disponibles lorsque je l'ai fait (c'était dans la version 600 environ, si je me souviens bien). Je ne me souviens pas avoir vu un onglet de débogage dans la boîte de dialogue Options à ce moment-là. Je n'ai pas non plus vu de mention à ce sujet dans la documentation. De toute évidence, le correctif 646 n'était pas disponible à l'époque. Si vous le voulez bien, clarifiez quelques points pour moi. J'écris et conserve le code de mon projet (ainsi qu'une copie du MetaEditor actuel) dans un répertoire dédié à cet effet et je copie les exécutables dans le dossier d'installation MT4 approprié pour les tests (en avant seulement, je ne fais pas de back test). Il me semble que le projet que vous essayez de déboguer doit se trouver dans le dossier approprié de votre installation MT4 et que vous devez utiliser l'application MetaEditor à partir de votre application MT4 en cours d'exécution et ouvrir les fichiers mq4, etc. qui résident dans le dossier d'installation, sinon le débogueur ne saura pas ce que vous essayez de déboguer. L'indicateur sur lequel je travaille n'a qu'un seul fichier mq4, donc je suppose que c'est ce qui doit être ouvert dans MetaEditor. Est-ce exact ? C'est l'approche que j'ai adoptée depuis le début, en supposant que le débogueur et MT4 en cours d'exécution ne pouvaient rien savoir de ce que j'avais dans mon répertoire de développement séparé.

Je n'y arriverai probablement pas avant le début de la semaine prochaine. Je suis aux États-Unis et j'ai travaillé toute la nuit. Il est temps pour moi d'aller me coucher, comme on dit ici aux États-Unis. Merci pour votre réponse et je ne manquerai pas de poster et de vous faire savoir ce que je rencontre lorsque j'essaye l'incarnation actuelle du débogueur. Comme je l'ai dit précédemment, je sais que ce que MQ fait ici n'est pas trivial. Je serai heureux d'aider de toutes les manières possibles.

Passez un bon week-end, angevoyageur.

Vous êtes le bienvenu. Faites-moi part de tout problème que vous pourriez rencontrer en utilisant le débogueur. Je vous aiderai si je le peux, car il fonctionne très bien pour moi.

Si vous conservez votre fichier en dehors du dossier de données de MT4, il est effectivement préférable de le conserver dans un seul fichier, puis de le copier dans le bon dossier lors du débogage.

 

Hé, angevoyageur

Cela pourrait mériter un fil de discussion à part entière, mais voici - lorsque je démarre le débogueur, j'ai vraiment besoin que le graphique qu'il affiche soit configuré selon mes spécifications. J'ai un indicateur que j'ai déjà terminé ainsi que quelques autres choses que je veux sur le graphique. En outre, j'ai besoin que le graphique soit configuré selon certaines spécifications, comme l'affichage des chandeliers, le zoom avant sur un certain point, etc. J'ai besoin de cela pour pouvoir me concentrer sur le début de l'indicateur que je suis en train de développer et regarder ce qu'il fait. En l'état actuel des choses, soit l'exécution m'a échappé et a fait des choses que j'ai manquées, invalidant ainsi mon test, soit si j'essaie de mettre en place des choses, tout se bloque et je finis par devoir utiliser le gestionnaire des tâches pour fermer et réessayer.

Le graphique des prix que la fenêtre de débogage fait apparaître est complètement à droite du graphique, ce qui entraîne l'affichage d'indicateurs commerciaux que je ne peux pas voir. Par conséquent, je ne sais pas ce qui vient de se passer ni pourquoi. La documentation de MQL5 indique qu'il y a un fichier debug.tpl dans le dossier profile/templates qui, je suppose, vous permettrait de configurer ce genre de chose afin que votre fenêtre de débogage soit configurée comme vous le souhaitez. Mon installation MT4 ne dispose pas d'un tel dossier et en créer un et y enregistrer un fichier modèle n'a pas fonctionné. Je ne pensais pas que cela fonctionnerait mais j'ai quand même essayé.

Existe-t-il une solution que je ne trouve pas ou la version actuelle de MQL4 ne dispose-t-elle pas de cette fonctionnalité? Une autre chose qui serait vraiment bien serait d'avoir une info-bulle qui vous donnerait la valeur d'une variable au passage de la souris.

Je ne veux pas être pénible, mais vous avez dit que si je trouvais quelque chose... :-)

 
ProfessorMetal:

Hé, angevoyageur

Cela pourrait mériter un fil de discussion à part entière, mais voici - lorsque je démarre le débogueur, j'ai vraiment besoin que le graphique qu'il affiche soit configuré selon mes spécifications. J'ai un indicateur que j'ai déjà terminé ainsi que quelques autres choses que je veux sur le graphique. En outre, j'ai besoin que le graphique soit configuré selon certaines spécifications, comme l'affichage des chandeliers, le zoom avant sur un certain point, etc. J'ai besoin de cela pour pouvoir me concentrer sur le début de l'indicateur que je suis en train de développer et regarder ce qu'il fait. En l'état actuel des choses, soit l'exécution m'a échappé et a fait des choses que j'ai manquées, invalidant ainsi mon test, soit si j'essaie de mettre en place des choses, tout se bloque et je finis par devoir utiliser le gestionnaire des tâches pour fermer et réessayer.

Le graphique des prix que la fenêtre de débogage fait apparaître est complètement à droite du graphique, ce qui entraîne l'affichage d'indicateurs commerciaux que je ne peux pas voir. Par conséquent, je ne sais pas ce qui vient de se passer ni pourquoi. La documentation de MQL5 indique qu'il y a un fichier debug.tpl dans le dossier profile/templates qui, je suppose, vous permettrait de configurer ce genre de chose afin que votre fenêtre de débogage soit configurée comme vous le souhaitez. Mon installation MT4 ne dispose pas d'un tel dossier et en créer un et y enregistrer un fichier modèle n'a pas fonctionné. Je ne pensais pas que cela fonctionnerait mais j'ai quand même essayé.

Existe-t-il une solution que je ne trouve pas ou la version actuelle de MQL4 ne dispose-t-elle pas de cette fonctionnalité ? Une autre chose qui serait vraiment bien serait d'avoir une info-bulle qui vous donnerait la valeur d'une variable au passage de la souris.

Je ne veux pas être pénible, mais vous avez dit que si je trouvais quelque chose... :-)

Ah ah. Vous ne lisez pas le fichier d'aide, tout est là. Dans MetaEditor, menu Aide, rubriques d'aide, cherchez "Debugging".

Vous devez définir les options du débogueur pour le symbole/l'image temporelle que vous souhaitez exécuter. Vous pouvez utiliser un modèle debug.tpl pour définir le graphique comme vous le souhaitez.

 

J'ai lu le fichier d'aide. C'est là que j'ai obtenu les informations que j'ai citées. En outre, les options du débogueur pour le symbole et le délai sont réglées comme je le souhaite. C'est ce que dit la documentation et, pour autant que je sache, c'est tout ce qu'elle dit sur le sujet.

Presetting

Before you start the program debugging, it's necessary to check its parameters in the "Debugging" tab of the MetaEditor options window. In this window you can specify a symbol and a chart period, in which the debugging of applications will be performed. Such a chart will be temporarily created each time when debugging is started, and it will be deleted after the debugging completion.

The "debug.tpl" template located in the /profiles/templates folder of the client terminal is applied to a chart created for debugging.
 

Comme je l'ai dit, l'installation de MT4 ne possède pas ce répertoire, je l'ai donc créé, j'ai configuré un graphique comme je le souhaitais et je l'ai enregistré sous le nom de debug.tpl. Voici à quoi il devrait ressembler :

Configuration des graphiques A

Comme vous pouvez le voir, j'ai un EA et deux indicateurs sur le graphique. Tout ce qui concerne la moyenne mobile dans la fenêtre principale est l'indicateur sur lequel je travaille. Celui qui se trouve en bas du graphique est un indicateur que j'ai déjà créé. C'est ce que j'ai enregistré comme debug.tpl. Le débogueur ne l'utilise pas. Il fait apparaître une fenêtre de graphique et la boîte de dialogue des propriétés de mon indicateur MA et affiche l'indicateur sur la fenêtre principale. La fenêtre est dézoomée et le prix est affiché sous forme de barres. Je peux tout configurer manuellement, mais cela signifie que je dois tout configurer à chaque fois que je fais une exécution de débogage et il est très probable que je vais manquer quelque chose parce que l'exécution du code s'est déclenchée pendant que je configure le graphique.

Comme je l'ai dit, il semble que cette fonctionnalité ne soit pas implémentée dans MQL4.

 

Bonjour Jeff,

lorsque vous êtes assis à un point d'arrêt dans un débogueur, l'IDE semble être arrêté (je ne suis pas tout à fait sûr pour les EA et les scripts, mais je crois que les indicateurs le sont). Donc les indicateurs dans le modèle ne devraient pas interférer.

Ne vous préoccupez pas de l'emplacement physique du fichier modèle. Faites un clic droit sur le graphique que vous voulez utiliser comme modèle pour le débogage :

Comme vous pouvez le voir, j'ai plusieurs modèles pour le débogage déjà enregistrés, donc je choisis généralement de charger par exemple Debug-1, puis Enregistrer le modèle et écraser le Debug.tpl.

Je vous ai vu crier à l'aide plus tôt, mais vous avez demandé explicitement au modérateur, donc j'attendais sa réponse qualifiée.