Code:
int ticket;
double closedProfit = 0;
int hstTotal = OrdersHistoryTotal();
for(int i = 0; i < hstTotal; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == mymagicnumber) {
closedProfit = closedProfit + OrderProfit();
}
}
}
if (closedProfit>=0) {
//[...my conditions]
//[am ende der Loop]
}
if (closedProfit < 0) {
if(total < 1) { //was soll total sein???
for(i = 0; i < hstTotal; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) {
if (OrderType() == OP_BUY && OrderMagicNumber() == mymagicnumber){
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 2, StopLoss, TakeProfit, NULL, mymagicnumber);
}
if (OrderType() == OP_SELL && OrderMagicNumber() == mymagicnumber{
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 2, StopLoss, TakeProfit, NULL, mymagicnumber);
}
}
}
}
}
So, habe mal den Code etwas geordnet. Das solltest Du Dir von vorn herein angewöhnen.
Die Logik im unteren Teil erschließt sich mir zwar nicht, aber Du wirst schon Deine Gründe haben.
Ansonsten solltest Du nochmals ganz knapp darlegen, was genau!! gemacht werden soll.
traderdoc