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