Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Узнай, как растет твой рейтинг
Миша
124
Миша 2014.03.13 11:53 

Подскажите, мне нужно что бы советник проверил наличие текущего ордера, если такой ордер есть то возвращаемся в начало, если нету текущих ордеров то продолжаем.

Достаточно ли указать так ?!

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

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){

break; }}

Vladimir Perervenko
2233
Vladimir Perervenko 2014.03.13 12:16  

Этим Вы проверили есть ли какие то позиции в рынке. Вам это нужно ?

Так это проверяется проще if( OrdersTotal()>0).

Удачи

Alexey Viktorov
5179
Alexey Viktorov 2014.03.13 12:19  

Нет. OrderSelect предназначен для выбора ордера и работы с ним. Закрытие\удаление, перестановка стопов\тейков и т.п.

После выбора ордера, как правило проверяют его на соответствие символу, магику и только после таких проверок принимается решение о дальнейших действиях.

Миша
124
Миша 2014.03.13 12:32  
vlad1949:

Этим Вы проверили есть ли какие то позиции в рынке. Вам это нужно ?

Так это проверяется проще if( OrdersTotal()>0).

Удачи


Спасибо, именно это и нужно.

Тогда получается можно так написать:

if(OrdersTotal()==0) (остальной функционал советника)

так ?

Vitalie Postolache
11060
Vitalie Postolache 2014.03.13 12:38  
Rafting:


Спасибо, именно это и нужно.

Тогда получается можно так написать:

if(OrdersTotal()==0) (остальной функционал советника)

так ?


Если нет необходимости отличать отложенные ордера от рыночных, то так. Если нужно учитывать только рыночные позиции, а отложенные можно игнорировать, то циклом.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий