Erreurs, bugs, questions - page 1886
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
Est-il normal que pour différentes situations, une même fonction donne la même valeur ?
Qu'est-ce qu'une "situation différente" ? Et faites comme je l'ai recommandé ci-dessus :
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Bugs, bugs, questions
Vladimir Karputov, 2017.05.12 11:15
...
En général, outre la simple édition du numéro de séquence, vous éditez également le ticket et le symbole.
Je sais que je dois vérifier, mais des choses peuvent arriver...
PositionGetInteger
La fonction renvoie la propriété demandée d'une position ouverte, préalablement sélectionnée à l'aide de la fonctionPositionGetSymbol ouPositionSelect. La propriété position doit être de type datetime, int. Il existe 2 variantes de cette fonction.
1. Renvoie directement la valeur de la propriété.
longGetInteger(
ENUM_POSITION_PROPERTY_INTEGERproperty_id// identifiant de la propriété
) ;
2. Renvoie vrai ou faux selon le succès de la fonction. En cas de succès, la valeur de la propriété est placée dans la variable cible, qui est passée par référence au dernier paramètre.
boolPositionGetInteger(
ENUM_POSITION_PROPERTY_INTEGERproperty_id,// identifiant de la propriété
long&long_var//prend la valeur de la propriété
) ;
Paramètres
identifiant de la propriété
L'identifiant [in] de la propriété position. La valeur peut être l'une des valeurs de l'enumENUM_POSITION_PROPERTY_INTEGER.
long_var
[out] Variable de type long, prenant la valeur de la propriété demandée.
Valeur retournée
Valeur du typelong. En cas d'échec de l'exécution, retourne 0.
La situation est plus subtile avec la magick. Il est donc logique de faire une vérification (PositionGetInteger(POSITION_TICKET) > 0).
Oui, c'est bien que vous deviez vérifier.
Mais lorsque vous écrivez une fonction, vous essayez toujours de faire en sorte qu'elle renvoie une valeur différente dans différentes situations.
Je pense qu'il est incorrect que la même valeur sorte de la fonction dans différentes situations.mais lorsque vous écrivez une fonction, vous essayez toujours d'obtenir une valeur différente pour différentes situations.
C'est la raison pour laquelle Magic l'a mentionné. Que retourner en cas d'erreur PositionGetInteger(POSITION_MAGIC) ?
Est-il possible qu'une fonction donne la même valeur pour différentes situations ?
ZS : il y avait une question dans le post d'ailleurs.
le fait est que, si je sélectionne acheter, la fonction (PositionGetInteger(POSITION_TYPE)) renvoie 0.
et si vous sélectionnez une position inexistante, la fonction retournera également 0
Le premier appel est donc utilisé lorsque vous avez GARANTI une position (comme dans la boucle). Et voici la deuxième forme d'appel
pour les cas où le poste est sélectionné de façon impromptue.
Faites-le et croyez ce que vous obtenez dans la variable "résultat" - tout se met en place :
0 - la position est ouverte manuellement. correct ?
Le premier appel est donc utilisé lorsque vous avez GARANTI une position (comme dans la boucle). Et voici la deuxième forme d'appel
pour les cas où le poste est sélectionné de façon impromptue.
Faites-le et croyez ce que vous obtenez dans la variable "résultat" - tout se met en place :
ce n'est pas la question, c'est que la fonction renvoie la même valeur pour différentes situations.
Je sais comment le vérifier.
la question initiale était de savoir si c'est normal du tout ?
SZY : une erreur peut être commise involontairement et alors dans 100000 codes vous serez fatigué de la chercher.
Quoi ? Tu n'as pas à faire d'erreurs ? )
ce n'est pas la question, mais la fonction renvoie la même valeur pour différentes situations.
Je sais comment le vérifier
La question était à l'origine de savoir si cela était normal ?
Vous, comme je le vois, n'avez pas vérifié le code que je vous ai montré. Que diriez-vous de ceci : vous vérifiez d'abord, puis vous posez à nouveau la question.
Vous, comme je le vois, n'avez pas vérifié le code que je vous ai montré. Disons-le ainsi : vous vérifiez d'abord, puis vous posez à nouveau la question.
Je n'ai pas besoin de le vérifier, je peux voir qu'il renvoie ce qu'il devrait.
Je parlais de la première utilisation de la fonction