Questions des débutants MQL5 MT5 MetaTrader 5 - page 1002

 
Artyom Trishkin:

Eh bien, puisque vous avez réinitialisé la dernière erreur, cherchez dans les contrées sauvages de CGraphic où ce code d'erreur se produit.

C'est la compétence des développeurs, ou des professionnels.

 
Aleksey Vyazmikin:

C'est la compétence des développeurs, ou des professionnels.

J'ai répondu dans ce fil. Il ne s'agit pas de leur compétence, mais de votre intérêt :

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Test CGraphic - questions et commentaires

Artyom Trishkin, 2019.02.17 07:53

Où vous a-t-on dit qu'il y avait une erreur à cet endroit ? Je vous l'ai dit - cherchez un point dans la bibliothèque où il peut être écrit dans la variable _LastError. Ce n'est pas nécessairement que le code avec l'erreur a fonctionné. Parce qu'il pourrait rechercher un objet (et s'il est absent, le code d'erreur sera écrit dans la variable) et le créer. Mais si l'objet n'est pas créé, c'est une erreur, mais il sera créé et tout se passera bien. Mais après vérification, le code d'erreur (l'objet était absent avant la création) sera écrit dans une variable, que vous lirez ensuite dans votre code.


 
Je dois créer un rectangle rempli d'un fond semi-transparent. D'après ce que je comprends, je dois utiliser CCanvas. Mais j'ai besoin de pouvoir modifier le rectangle avec la souris sur le graphique (déplacer ses bords). Quelle propriété dois-je utiliser ? Y a-t-il un exemple ?
 
Artyom Trishkin:

Réponse dans ce fil. Il ne s'agit pas de leur compétence, mais de votre intérêt :


Quel est mon intérêt, veuillez expliquer.

 
leonerd:
Je dois créer un rectangle rempli d'un fond semi-transparent. Si je comprends bien, je dois utiliser CCanvas. Mais j'ai besoin du rectangle pour pouvoir le modifier avec la souris sur le graphique (déplacer ses bords). Quelle propriété dois-je utiliser ? Y a-t-il un exemple ?

Avez-vous essayé de créer un objet triangle sans remplissage et de le remplir avec un canevas, ou est-ce que quelque chose n'est pas possible ? C'est juste une idée.

 
Aleksey Vyazmikin:

Avez-vous essayé de créer un objet triangle sans remplissage et de le remplir avec un canevas, ou est-ce que quelque chose n'est pas possible ? C'est juste une idée.

Je ne sais pas, probablement possible. Mais comment remplir un triangle avec une toile ? Pouvez-vous me dire comment faire, s'il vous plaît ?

 
leonerd:

Je ne sais pas, c'est probablement possible. Comment remplir le triangle avec une toile ? Pouvez-vous me donner un indice, s'il vous plaît ?

Je ne sais pas comment travailler avec la toile - j'ai moi-même du mal à le faire - je pense que les professionnels vont me le dire !

 
Denis Nikolaev:
Bonjour, ma fonction d'alerte lit une chaîne de caractères à partir d'un fichier et la sort en caractères chinois ou japonais, comment puis-je la corriger ?

Essayez d'ajouter une chaîne, cela pourrait aider

int OnInit()
 {
  MQLSetInteger(MQL_CODEPAGE,CP_ACP);
  ....

 }
 
Aleksey Vyazmikin:

Quel est mon intérêt, veuillez expliquer.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Test CGraphic - questions et commentaires

Artyom Trishkin, 2019.02.17 09:08

Il n'y a pas d'erreur, relisez-le :

Il est donc dans votre intérêt de savoir pourquoi vous lisez l'erreur après l'exécution normale du code. Vous ne comprenez probablement pas que le fait de contenir un code différent de zéro dans la variable _LastError ne signifie pas nécessairement qu'il y a une erreur dans le code CGraphic, et pas seulement dans celui-ci. Dans ce cas, il pourrait s'agir d'un simple résultat de la recherche de l'existence d'un objet, qui a été exécuté à l'intérieur du CGraphique en SB. Il y a eu une requête pour un objet par son nom, le résultat a retourné -1 et le code 4202 a été écrit dans _LastError. Puis l'objet a été créé, tout a fonctionné et a été renvoyé au programme appelant. Et là, vous lisez immédiatement le code d'erreur et vous l'obtenez. Mais il n'y a pas d'erreur - vous voyez le résultat des requêtes à l'intérieur du SB.

Je ne fais que suggérer une raison possible pour ce que vous rapportez.

Ainsi, si vous voulez vraiment trouver une erreur réelle et la signaler, vous devez parcourir l'ensemble du code CGraphic dans le débogueur et attraper l'erreur réelle qui conduira à des échecs de logique et de performance, plutôt que de simplement prétendre que vous avez lu le code d'erreur et donc - qu'il est bien là.


 
Artyom Trishkin:

Je vous ai répondu là aussi, et ce que j'ai décrit ne présente aucun intérêt - pas justifié.