здравствуйте!!!написал тут такую ерунду:
void delstop()
{
int mag,tic;
for(int i=0;i<OrdersTotal();i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true)
{
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP)
{
mag=OrderMagicNumber();tic=OrderTicket();
Print("mag",mag);
for(int i1=0;i1<OrdersTotal();i1++)
{
if (OrderSelect(i1, SELECT_BY_POS, MODE_TRADES)==true)
{
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
Print("i,i1,OrdersTotal(),mag,OrderTicket()",i,"/",i1,"/",OrdersTotal(),"/",mag,"/",OrderTicket());
if(i1==OrdersTotal()-1 && MathAbs(mag-OrderTicket())>0,000001)
OrderDelete(tic);
/*if(MathAbs(mag-OrderTicket())<0,000001)
{
break;
}*/
}}}}}}}}
}
и понял что она работать не будет . . . помогите пожалуйста написать функцию ,которая:при закрытии открытого ордера удаляля бы отложенник ,майджик которого соответствовал тикету закрытого...пожалуйста.