Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся история MQL5.community в одном месте!
Alexander Laur
7514
Alexander Laur 2014.02.07 18:58 

У меня создалось впечатление, что функция OrdersTotal() перед выводом своего значения в цикле подсчитывает количество открытых позиций и ордеров на текущем счете.

То есть ее быстродействие зависит от количества открытых поз и выставленных отложников.

Так ли это?

Alexander Laur
7514
Alexander Laur 2014.02.08 06:14  

Что, никто не знает ответа на вопрос?

Почему молчание?

Vladislav Andruschenko
82655
Vladislav Andruschenko 2014.02.08 06:38  

наверно ночью не смогли разгадать задачу .

Сама функция

OrdersTotal() мне кажется не считает ордера в цикле. Это кстати легко проверить.

посчитать за сколько мс возвращает OrdersTotal() количество ордеров

а за сколько мс посчитает собственный цикл.

Мне кажется слабая скорость именно в переборе ордеров.

Чем больше ордеров тем дольше их перебирать.

ИМХО.

Alexander Laur
7514
Alexander Laur 2014.02.08 07:11  
Vladon:

.....

У меня вопрос и возник потому, что я поставил ограничение на свой перебор ордеров:

   if(OrdersTotal() != lastTotal)
   {
      GetFlagsOrders();       // функция перебора открытых позиций
      lastTotal = OrdersTotal();
   }

надеясь, что время прохода советника на истории уменьшится. А реально время возросло.

Вот и получается, а не дважды ли я запускаю цикл перебора:

- первый раз фукцией OrdersTotal()

- второй раз своей функцией?

Понятно, что можно написать тестовую прогу и проверить. Думал, что кто-нибудь это делал и поделится результатом. Да разработчики могли бы нарушить "обет молчания".

Vladislav Andruschenko
82655
Vladislav Andruschenko 2014.02.08 07:38  

согласен, тоже заинтересовали.

надо будет на рынке посчитать время.

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