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
Cela pourrait être sémantique plutôt qu'un bug.
Le but de ObjectDelete est de "supprimer l'objet portant le nom spécifié".
À la fin de l'exécution de la fonction, y a-t-il encore un objet appelé "Objet non existant" sur le graphique ? Non... alors est-ce un succès ?
D'un autre point de vue, ObjectDelete a-t-il supprimé un objet appelé "Objet non existant" ? Non... alors est-ce un échec ?
Mesurez-vous le succès par le résultat ou l'action entreprise ?
Peut-être qu'un faux serait attendu si l'objet nommé reste sur le graphique après l'exécution de la fonction. Sinon, c'est un succès.
Oui, je vais l'écrire. J'attendais votre confirmation. Merci.
Je viens d'essayer de le signaler au Service Desk et il n'accepte pas mon message, disant "Error saving data".
J'ai également essayé à partir d'un autre endroit, d'un autre PC et d'un autre navigateur (en utilisant mon VPS) et la même chose s'est produite.
Avez-vous été en mesure de le signaler de votre côté ?
Cela pourrait être sémantique plutôt qu'un bug.
Le but de ObjectDelete est de "supprimer l'objet portant le nom spécifié".
À la fin de l'exécution de la fonction, y a-t-il encore un objet appelé "Objet non existant" sur le graphique ? Non... alors est-ce un succès ?
D'un autre point de vue, ObjectDelete a-t-il supprimé un objet appelé "Objet non existant" ? Non... alors est-ce un échec ?
Mesurez-vous le succès par le résultat ou l'action entreprise ?
Peut-être qu'un faux serait attendu si l'objet nommé reste sur le graphique après l'exécution de la fonction. Sinon, c'est un succès.
Si c'est le cas, alors la différence de fonctionnalité entre MQL4 et MQL5 n'est pas signalée ou expliquée dans la documentation !
Je suis d'accord. Je suis juste curieux de savoir lequel "ils" diront être le bon :-)
Personnellement, je pense qu'il est préférable de retourner true. Sinon, vous devez ajouter du code supplémentaire pour vérifier l'existence de l'objet ou supporter les erreurs 4202.
Je suis d'accord. Je suis juste curieux de savoir lequel "ils" diront être le bon :-)
Personnellement, je pense qu'il est préférable de retourner true. Sinon, il faut ajouter du code supplémentaire pour vérifier l'existence de l'objet, sinon il faut supporter les erreurs 4202.
À mon avis, dans les deux cas, il faut vérifier l'existence de l'objet avant de le supprimer, quelle que soit la version "correcte".
EDIT : Cependant, j'espère qu'ils le "réparent" pour qu'il fonctionne de la même manière que MQL4. Sinon, il y aura encore une autre différence de fonctionnalité dans laquelle nous devrons placer la compilation conditionnelle dans le code fait pour compiler sur les deux versions.
À mon avis, dans les deux cas, il faut vérifier l'existence de l'objet avant de le supprimer, quelle que soit la version "correcte".
Intéressant ! Pourquoi auriez-vous besoin de vérifier qu' il existe si vous voulez qu'il disparaisse ?
Le temps nécessaire pour vérifier l'existence d'un objet inexistant est largement comparable à la tentative de suppression d'un objet inexistant sur MT4 (et une inspection superficielle sur MT5 montre que c'est nettement plus lent), donc je ne vois pas d'avantage tangible en termes de performances à effectuer cette vérification. Mais cela ajoutera des lignes supplémentaires à votre code.
EDIT : Cependant, j'espère qu'ils le "réparent" pour qu'il fonctionne de la même manière que MQL4. Sinon, il y aura encore une autre différence de fonctionnalité dans laquelle nous devrons placer la compilation conditionnelle dans le code fait pour compiler sur les deux versions.
Intéressant ! Pourquoi auriez-vous besoin de vérifier qu'il existe si vous voulez qu'il disparaisse ?
Le temps nécessaire pour vérifier l'existence d'un objet inexistant est largement comparable à la tentative de suppression d'un objet inexistant sur MT4 (et une inspection superficielle sur MT5 montre que c'est nettement plus lent), donc je ne vois pas d'avantage tangible en termes de performances à effectuer cette vérification. Mais cela ajoutera des lignes supplémentaires à votre code.
Lorsque vous voulez détecter si l'utilisateur l'a accidentellement supprimé et qu'il doit être recréé. J'ai voulu dire que c'était un "ménage" général et non une fonctionnalité de suppression unique.
Mais oui, je suis d'accord, pour une fonctionnalité"OnDeinit()", il n'y a pas besoin de la tester d'abord.
Lorsque vous voulez détecter si l'utilisateur a accidentellement supprimé le fichier et qu'il doit être recréé. Je voulais dire qu'il s'agit d'un "ménage" général et non d'une fonctionnalité de suppression unique.
Mais oui, je suis d'accord, pour une fonctionnalité"OnDeinit()", il n'est pas nécessaire de la tester d'abord.
Ah, je vois.
A titre d'information :
void OnStart()
{
string name = "MysteryObject";
ulong begin;
begin = GetMicrosecondCount();
for(int i=0; i<1000; i++) int result = ObjectFind(0,name);
printf("ObjectFind took %i μs", GetMicrosecondCount()-begin);
begin = GetMicrosecondCount();
for(int i=0; i<1000; i++) bool result = ObjectDelete(0,name);
printf("ObjectDelete took %i μs", GetMicrosecondCount()-begin);
}
Je l'exécute sur MT4 Il n'y a pas grand chose dedans.
Exécution sur MT5 Il est plus de 50 fois plus lent.
Quelqu'un a-t-il une idée de la raison ?
A titre d'information :
Exécution sur MT4 il n'y a pas grand chose dedans.
Exécution sur MT5 Il est plus de 50 fois plus lent.
Quelqu'un a-t-il une idée de la raison ?