Вопрос программистам - порядок вызова спецфункций - страница 2

 
begemot61 >>:

Выполнение функции deinit() ограничивается 2.5 секундами.

Это не имеет ничего общего со временем счета индикатора. Только при завершении работы. Или у вас другая документация?

Каким образом IndicatorCounted() может помочь считать тяжелые индикаторы?

int IndicatorCounted( )

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

Т.е. в обычном случае нет нужды пересчитывать уже ранее посчитанные значения индикатора. Индикатор считается только для последнего бара, что значительно уменьшает время расчета.

Также движок этого форума в самом низу любезно вывел ссылки на топики, где подобное обсуждается, там посмотрите.


Не знаю, насколько Вы продвинуты в программировании, не считайте это обидным для себя, но пробуйте сами, сделайте тестовый индикатор, вставьте в него вывод в консоль или в файл, и "анализируй это" :) (с)



 
falkov >>:

Т.е. в обычном случае нет нужды пересчитывать уже ранее посчитанные значения индикатора. Индикатор считается только для последнего бара, что значительно уменьшает время расчета.

Никто и не собирается пересчитывать старые значения. Давайте снимем возможные неясности - будем считать, что код индикатора оптимален или почти оптимален (что недалеко от истины, хотя мой опыт программирования и ограничен всего шестнадцатью годами). Тем не менее, существуют задачи, которые не решаются персоналкой за несколько миллисекунд даже для одного тика, выше мной приведен пример - вычисление коэффициентов большого количества нейросетей, скажем, путем использования гнетического алгоритма. Большое время обработки возникает не вследствие несовершенства кода индикатора, а вследствие объема обрабатываемой истории.

Появление этого топика связано, прежде всего, с тем, что приложение terminal.exe изобилует нетривиальными эффектами, по-видимому, связанными с попытками нестандартно решать возникающие при отладке проблемы (как, например, объяснить то, что скорость выполнения одной и той же функции start, использующей внешнюю ДЛЛ, при заргузке из шаблона после запуска программы примерно в 10 раз быстрее, чем по приходу нового тика в терминал??? - сам измерял, не поленился). Поэтому повторяю свой предельно четко, хотя и не сразу, сформулированный вопрос:

Является ли порядок запуска спецфункций индикаторов и экспртов строго детрминированным или теоретически допускаются ситуации, при которых он может измениться?

"Анализируй это" мне, к сожалению, не подходит, и дело даже не в лени, а в том, что а) мое принципиальное предпочтение состоит в том, чтобы не тратить время и свой потенциал любознательности на копание в тех вопросах, на которые можно получить готовый ответ у справочника/разработчика/службы поддержки и б) начиная с какого-то из билдов команда метаквоутс встроила в терминал защиту от отладки, после чего прямой конроль за выполнением ДЛЛ сильно затруднился, а вот с Принтами возиться мне, извините, и вправду лень.


Ну так что, есть готовый ответ на означенный выше вопрос или его нет?


PS хелпы я, кстати, тоже читал. 

 

Ну так что, есть готовый ответ на означенный выше вопрос или его нет?

Лично у меня, к сожалению, четкого ответа на этот Ваш вопрос нет :(

Думаю, что только разработчики смогут дать недвусмысленный и ясный ответ, но они пока игнорируют нас :(

 
falkov >>:

Лично у меня, к сожалению, четкого ответа на этот Ваш вопрос нет :(

Думаю, что только разработчики смогут дать недвусмысленный и ясный ответ, но они пока игнорируют нас :(

редиски:)

Причина обращения: