Auch eine etwas komprimierte Version des alten Codes.
In Zukunft bitte den Code mittels Benutzung des Icons #
schreiben und auch Leerzeichen und Leerzeilen benutzen. Das erleichtert sehr die Lesbarkeit.
Code:
void OnTick() {
double ma = NormalizeDouble(iMA (_Symbol, Timeframe, PeriodMA, 0, Methode, PRICE_CLOSE, 0), _Digits);
for (int i = OrdersTotal()-1; i >= 0; i--){
if (OrderSelect(i, SELECT_BY_POS)){
if (OrderSymbol() == _Symbol) {
if (OrderType() == OP_BUY) {
if (ma > OrderStopLoss()) {
if (OrderModify(OrderTicket(), OrderOpenPrice(), ma, OrderTakeProfit(), OrderExpiration())) {
Print(__FUNCTION__, " > Order #", OrderTicket(), " wurde angepasst ...");
}
}
}
if (OrderType() == OP_SELL) {
if (ma < OrderStopLoss() || OrderStopLoss () == 0) {
if (OrderModify(OrderTicket(), OrderOpenPrice(), ma, OrderTakeProfit(), OrderExpiration())) {
Print(__FUNCTION__, " > Order #", OrderTicket(), " wurde angepasst ...");
}
}
}
if (OrderType() == OP_BUYLIMIT) {
if (ma > OrderOpenPrice()) {
if (OrderModify(OrderTicket(), ma, OrderStopLoss(), OrderTakeProfit(), OrderExpiration())) {
Print(__FUNCTION__, " > Order #", OrderTicket(), " wurde angepasst ...");
}
}
}
if (OrderType() == OP_SELLLIMIT) {
if (ma < OrderOpenPrice()) {
if (OrderModify(OrderTicket(), ma, OrderStopLoss(), OrderTakeProfit(), OrderExpiration())) {
Print(__FUNCTION__, " > Order #", OrderTicket(), " wurde angepasst ...");
}
}
}
}
}
}
}
traderdoc