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

 
andm2:

J'essaie de trouver la valeur d'un lot avec SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_INITIAL),mais le résultat est =0.Pouvez-vous me dire ce qui ne va pas ?

https://www.mql5.com/ru/forum/1111/page95#comment_14665

 
 
Bonne journée ! J'essaie d'écrire une distinction pour la position sélectionnée - achat ou vente. Je l'écris de cette façon.
 if (PositionGetInteger(POSITION_TYPE)== ??? {
A quoi dois-je le comparer ? Je ne le vois pas dans la référence. Là, ce n'est vraiment pas écrit, ce n'est pas false et True, c'est un ENUM_POSITION_TYPE, je clique dessus et le lien mène à la même table.
 
Dimka-novitsek:
Bonne journée ! J'essaie de faire une distinction pour une position - acheter ou vendre. Je l'écris de cette façon. Avec quoi doit-on le comparer ? Je ne le vois pas dans l'aide. Là, ce n'est vraiment pas écrit, ce n'est pas false et True, c'est un ENUM_POSITION_TYPE, je clique dessus et le lien mène à la même table.

Il y a un tableau tout en bas de la page.

comparer avec

POSITION_TYPE_BUY pour BUY et

POSITION_TYPE_SELL pour SELL

 
Merci !!!!
 
Je suis désolé, pourriez-vous s'il vous plaît écrire quelques lignes au-dessus et disons que j'ai un ordre sélectionné en quelque sorte, pas une position. Ici, j'utilise la fonction PositionGetDouble, que va-t-il se passer ? Qu'est-ce que cette fonction va rapporter, et est-ce qu'elle va rapporter quelque chose ?
 
Dimka-novitsek:
Excusez-moi, disons que, quelques lignes plus haut, j'ai un ordre sélectionné, pas une position. Ici, j'utilise la fonction PositionGetDouble, que va-t-il se passer ? Qu'est-ce que la fonction va rapporter, et est-ce qu'elle va rapporter quelque chose ?

La fonction donnera quelque chose, mais il n'y a aucune garantie, avant d'utiliser la fonction PositionGetDouble vous devriez utiliser PositionSelect(symbol)

s'il n'a pas été appelé auparavant.

On dirait qu'il faut déplacer le curseur sur la bonne ligne. Si le curseur se trouve déjà sur la bonne ligne (situation dans laquelle la fonction PositionSelect(symbol) a été appelée plus tôt dans le code et a renvoyé true), on peut utiliser immédiatement les fonctions PositionGetXXX ou PositionSetXXX; si le curseur se trouve sur une autre ligne, il faut d'abord le positionner.

 
MERCI ! !!
 
Dimka-novitsek:
MERCI ! !!
Corrigé le commentaire.
 
MERCI ! !! J'ai bien compris, il est important de choisir le bon ordre, ou même de vérifier...
 string PositionSymboll = "";
   if  (PositionSymboll=PositionGetSymbol(i))

if (PositionSymboll = ="")