Einzelnen Beitrag anzeigen
  #8 (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

Ok, dann vereinfache ich das mal auf Deinen speziellen Fall.

Code:
double profit = 0;
for (int i = OrdersTotal()-1; i >= 0; i--) {
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      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 (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 (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);
         }
      }
   }
}
OnStart() kann man nur in einem Script benutzen, und wenn sich das bei Dir nur auf zwei Paare beschränkt, lohnt sich auch nicht ein separater EA.

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