готово: www.opentraders.ru/downloads/2147/
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void ModeOOP()
{
bool m;
double delta=0,oop=0,sl=0,tp=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderType()==OP_BUYSTOP)
{
delta=NormalizeDouble(OrderOpenPrice()-Bid,Digits);
if(delta>Delta*Point)
{
oop=NormalizeDouble(Bid+Delta*Point,Digits);
if(StopLoss>0) sl=NormalizeDouble(oop-StopLoss*Point,Digits);
if(TakeProfit>0) tp=NormalizeDouble(oop+TakeProfit*Point,Digits);
m=OrderModify(OrderTicket(),oop,sl,tp,0,Blue);
return;
}
}
if(OrderType()==OP_SELLSTOP)
{
delta=NormalizeDouble(Bid-OrderOpenPrice(),Digits);
if(delta>Delta*Point)
{
oop=NormalizeDouble(Bid-Delta*Point,Digits);
if(StopLoss>0) sl=NormalizeDouble(oop+StopLoss*Point,Digits);
if(TakeProfit>0) tp=NormalizeDouble(oop-TakeProfit*Point,Digits);
m=OrderModify(OrderTicket(),oop,sl,tp,0,Red);
return;
}
}
}
}
}
}
FOTON