Этим Вы проверили есть ли какие то позиции в рынке. Вам это нужно ?
Так это проверяется проще if( OrdersTotal()>0).
Удачи
Нет. OrderSelect предназначен для выбора ордера и работы с ним. Закрытие\удаление, перестановка стопов\тейков и т.п.
После выбора ордера, как правило проверяют его на соответствие символу, магику и только после таких проверок принимается решение о дальнейших действиях.
Этим Вы проверили есть ли какие то позиции в рынке. Вам это нужно ?
Так это проверяется проще if( OrdersTotal()>0).
Удачи
Спасибо, именно это и нужно.
Тогда получается можно так написать:
if(OrdersTotal()==0) (остальной функционал советника)
так ?
Спасибо, именно это и нужно.
Тогда получается можно так написать:
if(OrdersTotal()==0) (остальной функционал советника)
так ?
Если нет необходимости отличать отложенные ордера от рыночных, то так. Если нужно учитывать только рыночные позиции, а отложенные можно игнорировать, то циклом.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите, мне нужно что бы советник проверил наличие текущего ордера, если такой ордер есть то возвращаемся в начало, если нету текущих ордеров то продолжаем.
Достаточно ли указать так ?!
for(i=0; i<OrdersTotal(); i++){
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
break; }}