Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 23

 
andm2:

Ich versuche, den Wert eines Loses mit SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_INITIAL) zu ermitteln, aber das Ergebnis ist =0. Können Sie mir sagen, was falsch ist?

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

 
 
Guten Tag! Ich versuche, eine Unterscheidung für die ausgewählte Position zu schreiben - kaufen oder verkaufen. Ich schreibe es auf diese Weise.
 if (PositionGetInteger(POSITION_TYPE)== ??? {
Womit sollte ich es vergleichen? Ich kann sie in der Referenz nicht finden. Dort steht es wirklich nicht, es ist nicht false und True, eine Art ENUM_POSITION_TYPE, ich klicke darauf und der Link führt zur gleichen Tabelle.
 
Dimka-novitsek:
Guten Tag! Ich versuche, eine Unterscheidung für eine Position zu treffen - kaufen oder verkaufen. Ich schreibe es so: Womit soll es verglichen werden? Ich kann es in der Hilfe nicht finden. Dort steht es wirklich nicht, es ist nicht false und True, es ist irgendein ENUM_POSITION_TYPE, ich klicke darauf und der Link führt zur gleichen Tabelle.

Ganz unten auf der Seite befindet sich eine Tabelle

vergleichen mit

POSITION_TYPE_BUY für BUY und

POSITION_TYPE_SELL für SELL

 
Dankeschön!!!!
 
Es tut mir leid, könnten Sie bitte ein paar Zeilen weiter oben schreiben, und sagen wir, ich habe einen Auftrag ausgewählt, nicht eine Position. Hier verwende ich die Funktion PositionGetDouble, was wird passieren? Was wird diese Funktion melden, und wird sie überhaupt etwas melden?
 
Dimka-novitsek:
Entschuldigung, ein paar Zeilen weiter oben habe ich einen Auftrag ausgewählt, keine Position. Hier verwende ich die Funktion PositionGetDouble, was wird passieren? Was wird die Funktion melden, und wird sie überhaupt etwas melden?

Die Funktion wird etwas ausgeben, aber es gibt keine Garantie. Bevor Sie die Funktion PositionGetDouble verwenden, sollten Sie PositionSelect(symbol) verwenden.

wenn es nicht vorher aufgerufen wurde.

Es sieht so aus, als würde man den Cursor auf die richtige Zeile bewegen. Befindet sich der Cursor bereits in der richtigen Zeile (die Situation, in der die Funktion PositionSelect(symbol) früher im Code aufgerufen wurde und true zurückgegeben hat), kann man die Funktionen PositionGetXXX oder PositionSetXXX sofort verwenden; befindet sich der Cursor in einer anderen Zeile, muss er erst positioniert werden.

 
DANKESCHÖN!!!
 
Dimka-novitsek:
DANKESCHÖN!!!
Der Kommentar wurde korrigiert.
 
DANKESCHÖN!!! Ich habe verstanden, dass es wichtig ist, die richtige Reihenfolge zu wählen, oder sogar zu überprüfen
 string PositionSymboll = "";
   if  (PositionSymboll=PositionGetSymbol(i))

if (PositionSymboll = ="")