Einzelnen Beitrag anzeigen
  #6 (permalink)  
Alt 24.01.18
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Code:
profit = 0;
for (int i = OrdersTotal()-1; i >= 0; i--) {
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderMagicNumber() == MagicNumber_EURUSD || OrderMagicNumber() == MagicNumber_USDCHF) {
         if (OrderSymbol() == "EURUSD" || OrderSymbol() == "USDCHF") {
            profit += OrderProfit() + OrderSwap() + OrderCommission();
         }
      }
   }
}
if (profit >= 20) {
   bool result = false;
   for (int i = OrdersTotal()-1; i >= 0; i--) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderMagicNumber() == MagicNumber_EURUSD) {
            if (OrderSymbol() == "EURUSD") {
               if (OrderType() ==OP_BUY)  result = OrderClose(OrderTicket(), OrderLots(), MarketInfo("EURUSD", MODE_BID), 0, Red);
               if (OrderType() ==OP_SELL) result = OrderClose(OrderTicket(), OrderLots(), MarketInfo("EURUSD", MODE_ASK), 0, Red);
            }
         }
         if (OrderMagicNumber() == MagicNumber_USDCHF) {
            if (OrderSymbol() == "USDCHF") {
               if (OrderType() ==OP_BUY)  result = OrderClose(OrderTicket(), OrderLots(), MarketInfo("USDCHF", MODE_BID), 0, Red);
               if (OrderType() ==OP_SELL) result = OrderClose(OrderTicket(), OrderLots(), MarketInfo("USDCHF", MODE_ASK), 0, Red);
            }
         }
      }
   }
}
Das ist die Sicherheitsvariante, falls mit je einer! MagicNumbers gearbeitet wird und das Schließen selbst aus irgendeinem Chart heraus erfolgt.

Im Prinzip kann die "gleichzeitige" Schließerei von Orders verschiedener Währungspaare und das noch mit verschiedenen MagicNumbers zur Herausforderung werden, denn jeder EA eines Charts wird nur die Eigenschaften des EAs berücksichtigen, die auch dort drin stehen. D.h. sieht der EA beim Schließen einer EURUSD-Order die MagicNumber 12345 in den Eigenschaften, dann wird er auch diese Order berücksichtigen, aber eben keine EURUSD-Order mit der MagicNumber 23456! D.h. will man die Orders verschiedener Währungspaare mit unterschiedlichen MagicNumbers hinsichtlich des "gleichzeitigen" Schließens verwalten, dann bietet sich ein 2. EA auf einem nicht benutzten Chart an, der nur die Orderschließung berücksichtigt. Damit der EA tickunabhängig arbeitet wird die Timerfunktion auf 1 Sekunde oder kürzer gestellt.

Um zu einer optimalen Lösung bei Dir zu gelangen, wäre es jedoch notwendig, zu erfahren, was Du genau erreichen willst.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.