Как закрыть первый ордер ?

 
Как выбрать первый ордер для закрытия?
 
sasha2x >>:
Как выбрать первый ордер для закрытия?

Первый откуда ?

 

Не знаю, подойдет ли "аналог". Посмотрите вот сюда (2-й -  шестой посты на этой ситраничке)-

'Закрытие позиций. По сигналу индикатора.'

 

Так и проверяй сначала:

for(int i=0;i<OrdersTotal();i++)

{

OrderSelect(i, SELECT_BY_POS);

if(OrderSymbol()==Symbol())

{

if(OrderType==0)OrderClose(OrderTicket(),OrderLots(),Bid,3);

if(OrderType==1)OrderClose(OrderTicket(),OrderLots(),Ask,3);

return(0);

}

}

 

Не подходит я так делал,мне надо просто если при достижении какого то количества ордеров N, чтоб закрывал 1-ый ордер,который был открыт от начала цепочки ордеров

С уважением Александр

 
sasha2x >>:

Не подходит я так делал,мне надо просто если при достижении какого то количества ордеров N, чтоб закрывал 1-ый ордер,который был открыт от начала цепочки ордеров

С уважением Александр

Если вы знаете что этот ордер начинает цепочку то записываете его время в переменную с помощью OrderOpenTime() а потом при достижении общего количества открытых ордеров больше установленной величины закрываете его.



 
Да всё разобрался вставил функцию:
if(OrdersTotal()>more_orders) //не более more_orders ордеров
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderSymbol()==Symbol())
{
if(OrderType()==0)OrderClose(OrderTicket(),OrderLots(),Bid,3);
if(OrderType()==1)OrderClose(OrderTicket(),OrderLots(),Ask,3);
return(0);
}
}
}
Всем спасибо за помощь
Причина обращения: