Ich habs so gemacht (Eigentlich ist es damit meiner Meinung nach gelöst):
Code:
//---Trailing - Stoploss
int total = OrdersTotal();
for(int i=0;i<=total-1;i++) {
//Stoploss für Long-Positionen
if (OrderSelect(i,SELECT_BY_POS) && OrderType() == OP_BUY){
int a = 2;
int b = 3;
if(High[a] > Close[1] && Low[a] < Open[1]){
bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),Low[b],0,0);
if (ordermodify == false)
Print("Stoploss ",OrderTicket()," NICHT nachgezogen! ERROR!");
else
Print("StopLoss ",OrderTicket()," nachgezogen");
a++; b++;
}
else {
bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),Low[1],0,0);
if (ordermodify == false)
Print("Stoploss ",OrderTicket()," NICHT nachgezogen! ERROR!");
else
Print("StopLoss ",OrderTicket()," nachgezogen");
}
}
//Stoploss für Shortpositionen
if (OrderSelect(i,SELECT_BY_POS) && OrderType() == OP_SELL){
int a = 2;
int b = 3;
if(High[a] > Open[1] && Low[a] < Close[1]){
bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),High[b],0,0);
if (ordermodify == false)
Print("Stoploss ",OrderTicket()," NICHT nachgezogen! ERROR!");
else
Print("StopLoss ",OrderTicket()," nachgezogen");
a++; b++;
}
else {
bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),High[1],0,0);
if (ordermodify == false)
Print("Stoploss ",OrderTicket()," NICHT nachgezogen! ERROR!");
else
Print("StopLoss ",OrderTicket()," nachgezogen");
}
}
}
Hoffe, dass das weiterhilft