Code:
if (OrdersTotal() == 0) {
if (tik <= 2) {
openOrder(Symbol(), OP_BUYLIMIT,LotSize,buyPrice,buyPrice-SL*point(), buyPrice+TP*point(),"_Buy_",MagicNumber,exp,Navy);
openOrder(Symbol(), OP_SELLLIMIT,LotSize,sellPrice,sellPrice+SL*point(), sellPrice-TP*point(),"_Sell_",MagicNumber,exp,Crimson);
}
}
if (OrdersTotal () == 2) {
for (int i=0;i<OrdersTotal();i++) {
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber) {
if(DelOpposite) delPending(OP_SELLLIMIT,MagicNumber);
}
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber) {
if(DelOpposite) delPending(OP_BUYLIMIT,MagicNumber);
}
}
}
Nun mußt Du nur darauf achten, dass jetzt der buyprice unter!! und der sellprice über!! dem aktuellen Kurs liegt.
Ich habe auch in der Del-Routine Anpassungen vorgenommen, die Du auf Programmlogik hin überprüfen solltest.
traderdoc