OnGoing:
Согласен. Я говорил именно о торговле в реал-тайм)
и в реалтайме тоже критично, если предположим данные функции у вас не в советнике а в индикаторе - анализаторе истории, вы имеете кучу закрытых ордеров (а давеча мне пришлось копатся в 16000), то выигрыш по времени и нагрузке на проц, тоже довольно существенный.
В идеале, для наибольшей скорости, предварительные проверки (на наличие фильтров по магику, символу.. етс) надо выносить за пределы цикла, что бы не долбится об них на каждой итерации. Но это сильно раздует размер самой функции, так что приходится выбирать золотую середину, между количеством строк и скоростью...
FAQ:
В идеале, для наибольшей скорости, предварительные проверки (на наличие фильтров по магику, символу.. етс) надо выносить за пределы цикла, что бы не долбится об них на каждой итерации. Но это сильно раздует размер самой функции, так что приходится выбирать золотую середину, между количеством строк и скоростью...
Не понял, что означает на "наличие фильтров". Поясните пожалуйста.
Не факт. И не важно. Вот здесь - по-барабану.
...а увеличение быстродействия на миллисекунду в таких разовых проверках в реальной торговле погоды не сделает.
Сделает... в тестере при оптимизациях :-)
Согласен. Я говорил именно о торговле в реал-тайм)
и в реалтайме тоже критично, если предположим данные функции у вас не в советнике а в индикаторе - анализаторе истории, вы имеете кучу закрытых ордеров (а давеча мне пришлось копатся в 16000), то выигрыш по времени и нагрузке на проц, тоже довольно существенный.
Не факт.
Что значит не факт? Еще как факт.
2 операции выполнятся быстрее, чем 5.
Что значит не факт? Еще как факт.
2 операции выполнятся быстрее, чем 5.
попробуйте мой скрипт... увидите, что иногда OrderType()<2 работает дольше... хотя, может, погрешности какие-то...
В идеале, для наибольшей скорости, предварительные проверки (на наличие фильтров по магику, символу.. етс) надо выносить за пределы цикла, что бы не долбится об них на каждой итерации. Но это сильно раздует размер самой функции, так что приходится выбирать золотую середину, между количеством строк и скоростью...
Что значит не факт? Еще как факт.
2 операции выполнятся быстрее, чем 5.
Проверка на равенство значительно проще чем на больше меньше.
Можно не проверять тип через if, считать в массив
cnt[OrderType()] ++;