if(/*Modi&&*/FlagM)for(index=OrdersTotal()-1;index>=0;index--)
{ if(!OrderSelect(index,SELECT_BY_POS))continue;
if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MAGIC)continue;
if(0.5*Point<MathAbs(OrderTakeProfit()-TPlevel))
{
[COLOR="Red"] STLA=MarketInfo(Symbol(),MODE_STOPLEVEL)* Point;
switch(OrderType())
{
case OP_BUY : if (TPlevel<Bid+STLA)TPlevel=Bid+STLA; break;
case OP_SELL: if (TPlevel>Ask-STLA)TPlevel=Ask-STLA; break;
}
[/COLOR]MDFY=OrderModify(OrderTicket(),0.0,OrderStopLoss(),TPlevel,0,Yellow);
if(!MDFY)
{//Comment("Robot2015-",Oper," ошибка MODIFY - проверьте TP !");
RefreshRates();
STLA=MarketInfo(Symbol(),MODE_STOPLEVEL)+0.5;
if(OrderType()==OP_BUY )
{ STLR=(TPlevel-Bid)/Point+0.5;
/*if(STLR<STLA)*/TPlevel=NormalizeDouble(EquEntry+Point*(STLA+2),Digits);
}
if(OrderType()==OP_SELL)
{ STLR=(Ask-TPlevel)/Point+0.5;
/*if(STLR<STLA)*/TPlevel=NormalizeDouble(EquEntry-Point*(STLA+2),Digits);
}
if(STLR<STLA)
{ MDFY=OrderModify(OrderTicket(),0.0,OrderStopLoss(),TPlevel,0,Yellow);
if(!MDFY)
{ Comment("Robot2015-",Oper," ошибка MODIFY - проверьте TP !");
Print( "Robot2015-",Oper," MODIFY Error - ticket #",OrderTicket());
} }
else
{ Comment("Robot2015-",Oper," ошибка MODIFY - проверьте TP !");
Print( "Robot2015-",Oper," MODIFY Error - ticket #",OrderTicket());
} } }
/*Modi=FALSE;*/
}
return(0);
}
//---------------------------------------------------------------------------------------][/SPOILER]
:-):-):-)