Не знаю, подойдет ли "аналог". Посмотрите вот сюда (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-ый ордер,который был открыт от начала цепочки ордеров
С уважением Александр
Не подходит я так делал,мне надо просто если при достижении какого то количества ордеров 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); } } }Всем спасибо за помощь
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования