Ich habe das mal der besseren Lesbarkeit etwas geschmeidiger geschrieben:
Code:
for (pos = OrdersTotal()-1; pos >= 0; pos--) {
if (OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {
dOrderProfit = OrderProfit() + OrderSwap() + OrderCommission();
if (UseCloseIndicator == 1) {
if (OrderType() == OP_BUY) {
if (dOrderProfit > 0 && PriceBid >= channel_main) {
bOrderClose = OrderClose(OrderTicket(), OrderLots(), PriceBid, 3, Blue);
}
}
if (OrderType() == OP_SELL) {
if (dOrderProfit > 0 && PriceAsk <= channel_main) {
bOrderClose = OrderClose(OrderTicket(), OrderLots(), PriceAsk, 3, Red);
}
}
}
}
}
}
Das RefreshRate() fällt weg, weil es an dieser Stelle nicht zu refreshen gab, denn die Übergabe des Bid- und Ask-Werte an PriceBid und PriceAsk muss irgendwo anders stattfinden.
Und aus bOrderProfit habe ich konsequenterweise dOrderProfit gemacht, weil der zurückgegebene Wert ein double-Wert ist.
Also, immer darauf achten, dass die Klammerstruktur konsequent eingehalten wird, dann ist der Code für alle auch besser lesbar.
traderdoc