PositionCloseBy

 

Ich Grüße Euch Alle

Kann mir jemand ein einfaches Beispiel für die CloseBy-Funktion programmieren.

Dies soll als Unterprogramm aufrufbar sein. In dem soll es mit PositionTotal() alle offenen Positionen (aller Symbole) durchsuchen und mit _Symbol finden. Anschließend Ticket 1 (profitabel) gegen Ticket 2 (un-profitabel) schließen.

Mein Beispielcode schließt alle offenen Positionen. Wie müsste es aussehen, mit PositionCloseBy?


Ich Danke Euch für Eure Ideen.

// Beispiel Code zum schießen aller offenen Positionen
void CloseAllBooM()
   {
      for(int i = PositionsTotal(); i>=0; i--)
         {
         ulong PTicket         = PositionGetTicket(i);
         string PositionSymbol = PositionGetString(POSITION_SYMBOL);
            if (PositionSymbol == _Symbol)
               {
               trade.PositionClose(PTicket);
               }
         }
   }
 

Schau Dir an in der Datei ...\Include\Trade\Trade.mqh

diese Funktion an:

bool CTrade::PositionCloseBy(const ulong ticket,const ulong ticket_by)

Du brauchst also 2 offene Positionen, die "gematchet" werden sollen.