Thema: Trademanger
Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 21.07.17
Leopold Leopold ist offline
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

so hab das mal geschrieben.

Code:
void Check_BreakEvenLevels (int EA_ID, double Faktor_BreakEvenLevel)
   {
   ResetLastError();
   
   for (int i = OrdersTotal() - 1; i >= 0; i--)
      {
      bool Order_Select = OrderSelect(i, MODE_TRADES);
      
      if (Order_Select == True)
         {
         if (OrderMagicNumber() == EA_ID && OrderType() <= 1)
            {
            double OpenPrice = OrderOpenPrice(), StopLossPrice = OrderStopLoss();
            
            if (OrderType() == OP_BUY && StopLossPrice != 0 && StopLossPrice < OpenPrice)
               {
               double BreakEvenLevel = OpenPrice + ((OpenPrice - StopLossPrice) * Faktor_BreakEvenLevel);
               if (Bid >= BreakEvenLevel)
                  {
                  bool Order_Modify = OrderModify(OrderTicket(), OpenPrice, OpenPrice, OrderTakeProfit(), 0);
                  if (Order_Modify == False) Print("Fehler bei OrderModify. Ticket: ", OrderTicket(), "Error: ", GetLastError());
                  }
               }
            
            else if (OrderType() == OP_SELL && StopLossPrice != 0 && StopLossPrice > OpenPrice)
               {
               double BreakEvenLevel = OpenPrice - ((StopLossPrice - OpenPrice) * Faktor_BreakEvenLevel);
               if (Ask <= BreakEvenLevel)
                  {
                  bool Order_Modify = OrderModify(OrderTicket(), OpenPrice, OpenPrice, OrderTakeProfit(), 0);
                  if (Order_Modify == False) Print("Fehler bei OrderModify. Ticket: ", OrderTicket(), "Error: ", GetLastError());
                  }
               }
            } //Ende Kontrolle MagicNumber
         } //Ende Kontrolle OrderSelect
      } //Ende For-Schleife Orders
   } //Ende Funktion Check_BreakEvenLevels
Getestet hab ich es noch nicht, sollte aber funktionieren.
Vielleicht kannst du das mal testen.

mfg Leopold

Geändert von Leopold (21.07.17 um 14:31 Uhr)