int TrailingStop=0; int TrailingStep=0;
void MoveTrailingStop() { for(int cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY) { if(TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point*d,digits)>NormalizeDouble(OrderOpenPrice()+TrailingStop*point*d,digits)) { if((NormalizeDouble(OrderStopLoss(),digits)<NormalizeDouble(Bid-TrailingStop*point*d,digits))||(OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point*d,digits),OrderTakeProfit(),0,Blue); } } } else { if(TrailingStop>0&&NormalizeDouble(Bid+TrailingStep*point*d,digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point*d,digits)) { if((NormalizeDouble(OrderStopLoss(),digits)>(NormalizeDouble(Ask+TrailingStop*point*d,digits)))||(OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*point*d,digits),OrderTakeProfit(),0,Red); } } } } } }
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
طلب من الساده المبرمجين | kimofx | منتدى المؤشرات و الاكسبرتات | 18 | 03 - 09 - 2011 03:56 AM |