Erreurs, bugs, questions - page 1887
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
Je n'ai pas besoin de le vérifier, je peux voir qu'il renvoie ce dont j'ai besoin.
Je parlais de la première variante de l'utilisation de la fonction
Ok, alors. Commençons par la queue.
1. positionGetInteger :
La fonction renvoie la propriété demandée d'une position ouverte précédemment sélectionnée à l'aide de la fonction...
En d'autres termes, avant d'utiliser PositionGetInteger, la position doit d'abord être sélectionnée.
2. Nous sélectionnons la position en utilisant le PositionGetTicket :
Valeur de retour.
Le billet de poste. En cas d'échec de l'exécution, il renvoie 0.
Et où avez-vous une vérification (après la boucle) qu'il y a eu un retour de PositionGetTicket ? Il n'y a pas de contrôle, et là, d'ailleurs, "zéro" est renvoyé - c'est-à-dire que PositionGetTicket a été déclenché avec une erreur - ce qui revient à sélectionner une position qui n'existe pas. Ensuite, sans vérifier le résultat de PositionGetTicket, vous essayez d'obtenir sa propriété à partir d'une position inexistante. Et là, dans les propriétés de la position inexistante, soit des déchets, soit de simples données de structures nulles.
En résumé, sans vérifier si la PositionGetTicket renvoie "zéro", vous ne pouvez pas aller plus loin.
Ok, alors. Partons de la queue.
1. positionGetInteger :
La fonction renvoie la propriété demandée d'une position ouverte précédemment sélectionnée à l'aide de la fonction...
En d'autres termes, la position doit d'abord être sélectionnée avant d'utiliser PositionGetInteger.
2. Nous sélectionnons la position en utilisant le PositionGetTicket :
Valeur de retour.
Le billet de poste. En cas d'échec de l'exécution, il renvoie 0.
Et où avez-vous une vérification (après la boucle) qu'il y a eu un retour de PositionGetTicket ? Il n'y a pas de contrôle, et là, d'ailleurs, "zéro" est renvoyé - c'est-à-dire que PositionGetTicket a été déclenché avec une erreur - ce qui revient à sélectionner une position qui n'existe pas. Ensuite, sans vérifier le résultat de PositionGetTicket, vous essayez d'obtenir sa propriété à partir d'une position inexistante. Et là, dans les propriétés de la position inexistante, soit des déchets, soit de simples données de structures nulles.
En résumé, sans vérifier que la PositionGetTicket renvoie "zéro", vous ne pouvez pas aller plus loin.
Ok, allons-y comme ça. Commençons par la queue.
1. positionGetInteger :
La fonction renvoie la propriété demandée d'une position ouverte précédemment sélectionnée à l'aide de la fonction...
En d'autres termes, la position doit d'abord être sélectionnée avant d'utiliser PositionGetInteger.
2. Nous sélectionnons la position en utilisant le PositionGetTicket :
Valeur de retour.
Le billet de poste. En cas d'échec de l'exécution, il renvoie 0.
Et où avez-vous une vérification (après la boucle) qu'il y a eu un retour de PositionGetTicket ? Il n'y a pas de contrôle, et là, d'ailleurs, "zéro" est renvoyé - c'est-à-dire que PositionGetTicket a été déclenché avec une erreur - ce qui revient à sélectionner une position qui n'existe pas. Ensuite, sans vérifier le résultat de PositionGetTicket, vous essayez d'obtenir sa propriété à partir d'une position inexistante. Et là, dans les propriétés de la position inexistante, soit des déchets, soit de simples données de structures nulles.
En résumé, si vous ne vérifiez pas si la PositionGetTicket renvoie "zéro", vous ne pouvez pas aller plus loin.
vous n'avez pas besoin de vous expliquer)
Ce n'est pas la question.
lire correctement : est-il acceptable qu'une fonction renvoie la même valeur dans différentes situations ?
La fonction peut-elle faire cela ?En résumé, si vous ne vérifiez pas que PositionGetTicket a un retour de "zéro", vous ne pouvez pas avancer.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Bugs, bugs, questions
fxsaber, 2017.05.12 11:19
il est logique de faire une vérification (PositionGetInteger(POSITION_TICKET) > 0).cette fonction pour différentes situations renvoie la même valeur ?
Est-il exact que la fonction fait cela ?Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Bugs, bugs, questions
fxsaber, 2017.05.12 11:29
Oui. Mais toute autre valeur serait également trompeuse.1. vous n'avez pas à vous expliquer).
ce n'est pas la question
2. si j'ai bien lu : est-il acceptable qu'une fonction renvoie la même valeur dans différentes situations ?
Une fonction peut-elle faire cela ?1. Vous êtes une personne grossière qui a également fait une erreur dans son code, mais ne veut pas l'admettre.
2. La fonction fonctionne tout à fait correctement. Parce qu'il (PositionGetInteger(POSITION_TYPE)) ne peut renvoyer que 2 valeurs - soit POSITION_TYPE_BUY, soitPOSITION_TYPE_SELL. Mais sans sélectionner une position (et vous ne la sélectionnez pas - vous ne vérifiez pas ce qui a été sélectionné exactement), exiger quelque chose de (PositionGetInteger(POSITION_TYPE)) est imprudent.
En résumé, lorsque votre code est écrit avec une erreur logique, vous n'avez tout simplement pas le droit d'exiger quelque chose des fonctions du système.
En résumé, lorsque votre code est écrit avec une erreur logique, vous n'avez tout simplement pas le droit d'exiger quoi que ce soit des fonctions du système.
1. Vous êtes une personne grossière qui a fait une erreur dans le code mais ne veut pas l'admettre.
2. La fonction fonctionne tout à fait correctement. Parce qu'il (PositionGetInteger(POSITION_TYPE)) ne peut renvoyer que DEUX valeurs - soit POSITION_TYPE_BUY, soitPOSITION_TYPE_SELL. Mais sans sélectionner une position (et vous ne la sélectionnez pas - vous ne vérifiez pas ce qui a été sélectionné exactement), exiger quelque chose de (PositionGetInteger(POSITION_TYPE)) est imprudent.
En résumé, lorsque votre code est écrit avec une erreur logique, vous n'avez tout simplement pas le droit d'exiger quelque chose des fonctions du système.
Désolé, ce n'est pas ma faute si quelqu'un ne voit pas le problème.
Le fait qu'il y ait une erreur délibérée dans le code est reconnu.
Et je sais comment le réparer.
Mais la question est différente.
Pourquoi la fonction PositionGetInteger(POSITION_TYPE) renvoie-t-elle une valeur d'achat (égale à 0) au lieu d'une valeur d'erreur (égale à 0) si les paramètres d'entrée ne sont pas corrects ?
Pourquoi la fonction PositionGetInteger(POSITION_TYPE_SELL) renvoie-t-elle une valeur d'achat (égale à 0) au lieu d'une valeur d'erreur(égale à 0) si les paramètres d'entrée ne sont pas corrects ?