Скачать MetaTrader 5

Быстродействие функции OrdersTotal()

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

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

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

Так ли это?

Alexander Laur
7960
Alexander Laur  

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

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

Vladislav Andruschenko
99829
Vladislav Andruschenko  

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

Сама функция

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

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

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

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

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

ИМХО.

Alexander Laur
7960
Alexander Laur  
Vladon:

.....

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

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

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

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

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

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

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

Vladislav Andruschenko
99829
Vladislav Andruschenko  

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

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

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