Lorsque l'on utilise ChartSetSymbolPeriod, la fonction OnDeinit renvoie 1 Le programme a été supprimé du graphique, alors que logiquement elle devrait renvoyer 3 Le symbole ou lapériode du graphique aété modifié(e).
Mon indicateur a commencé à perdre des objets graphiques pour une raison quelconque et ne veut pas les supprimer. J'utilise la suppression automatique dans le destructeur de classe. Je l'appelle :
ObjectDelete(chartID, name);
En conséquence, j'obtiens un faux positif. J'appelle GetLastError() et j'obtiens l'erreur 4101 ("Errory chart identifier"). Supposons. Je compare le chartID de l'objet graphique en cours de suppression avec le résultat de la fonction ChartID() et ils sont exactement les mêmes. Quelle peut être la raison pour laquelle un objet ne peut pas être supprimé du graphique et comment puis-je contourner ce problème ?
Mon indicateur a commencé à perdre des objets graphiques pour une raison quelconque et ne veut pas les supprimer. J'utilise la suppression automatique dans le destructeur de classe. Je l'appelle :
En conséquence, j'obtiens un faux positif. J'appelle GetLastError() et j'obtiens l'erreur 4101 ("Errory chart identifier"). Supposons. Je compare le chartID de l'objet graphique en cours de suppression avec le résultat de la fonction ChartID() et ils sont exactement les mêmes. Quelle peut être la raison pour laquelle un objet ne peut pas être supprimé du graphique et comment puis-je contourner ce problème ?
J'ai des problèmes similaires https://www.mql5.com/ru/forum/1111/page2785#comment_17002122
Peut-être que les créateurs feront quelque chose à ce sujet).
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку, так как небольшая ошибка в логике советника или индикатора может привести к убыткам на торговом счете. Именно поэтому нами разработана серия базовых проверок, призванных обеспечить необходимый уровень качества продуктов Маркета. Если в процессе проверки...
Mon indicateur a commencé à perdre des objets graphiques pour une raison quelconque et ne veut pas les supprimer. J'utilise la suppression automatique dans le destructeur de classe. Je l'appelle :
En conséquence, j'obtiens un faux positif. J'appelle GetLastError() et j'obtiens l'erreur 4101 ("Errory chart identifier"). Supposons. Je compare le chartID de l'objet graphique en cours de suppression avec le résultat de la fonction ChartID() et ils sont absolument identiques. Quelle peut être la raison pour laquelle un objet ne peut être supprimé du graphique et comment puis-je contourner ce problème ?
J'ai décidé d'essayer une autre méthode. Lors de la création d'un graphique, j'ajoute tous les objets à la liste et j'utilise la boucle pour supprimer tous les objets lors de la suppression de l'indicateur. Maintenant la fonctionGetLastError() donne l'erreur 4001 après l'appel de la fonction ObjectDelete et certains objets du graphique restent sur le graphique.
Je suis surpris de ne pas avoir remarqué moi-même la colonne d'échange désactivée.
Merci, le problème est résolu.
Hourra¡¡¡¡ nous avons gagné.
Le bug est que si la condition if(...) est remplie, rien ne doit interrompre la boucle
Voici une vidéo
Voici le code complet du script
Le bug est que si la condition if(...) est remplie, rien ne doit interrompre la boucle
Votre code est similaire à celui-ci
Mon indicateur a commencé à perdre des objets graphiques pour une raison quelconque et ne veut pas les supprimer. J'utilise la suppression automatique dans le destructeur de classe. Je l'appelle :
ObjectDelete(chartID, name);En conséquence, j'obtiens un faux positif. J'appelle GetLastError() et j'obtiens l'erreur 4101 ("Errory chart identifier"). Supposons. Je compare le chartID de l'objet graphique en cours de suppression avec le résultat de la fonction ChartID() et ils sont exactement les mêmes. Quelle peut être la raison pour laquelle un objet ne peut pas être supprimé du graphique et comment puis-je contourner ce problème ?
Mon indicateur a commencé à perdre des objets graphiques pour une raison quelconque et ne veut pas les supprimer. J'utilise la suppression automatique dans le destructeur de classe. Je l'appelle :
En conséquence, j'obtiens un faux positif. J'appelle GetLastError() et j'obtiens l'erreur 4101 ("Errory chart identifier"). Supposons. Je compare le chartID de l'objet graphique en cours de suppression avec le résultat de la fonction ChartID() et ils sont exactement les mêmes. Quelle peut être la raison pour laquelle un objet ne peut pas être supprimé du graphique et comment puis-je contourner ce problème ?
J'ai des problèmes similaires https://www.mql5.com/ru/forum/1111/page2785#comment_17002122
Peut-être que les créateurs feront quelque chose à ce sujet).
l'absence de tout commentaire ici, comme si le sujet n'était nécessaire que pour évacuer la négativité d'une autre découverte désagréable ;)
Je pense que le rédacteur aurait dû suggérer meTicket au lieu de meWrongProperty ;)
Bild 2530
Sur la troisième attache de la structure, aucune intelligence n'apparaît.
Lors de la vérification sur la place de marché EA, des erreurs se sont produites lors du calcul des lots.
Il n'y a pas d'erreurs dans le testeur.
Le code est aussi simple que possible. Comment pourrait-il y avoir une erreur ?
Lire l'articleQuels tests un robot de trading doit-il passer avant d'être publié sur le marché?
Mon indicateur a commencé à perdre des objets graphiques pour une raison quelconque et ne veut pas les supprimer. J'utilise la suppression automatique dans le destructeur de classe. Je l'appelle :
En conséquence, j'obtiens un faux positif. J'appelle GetLastError() et j'obtiens l'erreur 4101 ("Errory chart identifier"). Supposons. Je compare le chartID de l'objet graphique en cours de suppression avec le résultat de la fonction ChartID() et ils sont absolument identiques. Quelle peut être la raison pour laquelle un objet ne peut être supprimé du graphique et comment puis-je contourner ce problème ?
J'ai décidé d'essayer une autre méthode. Lors de la création d'un graphique, j'ajoute tous les objets à la liste et j'utilise la boucle pour supprimer tous les objets lors de la suppression de l'indicateur. Maintenant la fonctionGetLastError() donne l'erreur 4001 après l'appel de la fonction ObjectDelete et certains objets du graphique restent sur le graphique.