Перенесено из темы https://forexsystemsru.com/1308586-post79.html
To
ShadowCandle,
А Вы не задавались вопросом почему Ваш индикатор долго устанавливается на график? У Вас по коду есть ошибка и она, похоже, перекочевала и в AccDisMAF - не корректно реализовано сглаживание по МА.
У меня всё ставится быстро, код первого открытый, если Вы видите ошибку, покажите где?
VolMA[i]=iMAOnArray(Vol,0,PerMA,0,MetMA,i);
Разбейте на два цикла, сперва заполните данными массив Vol, а потом, во втором цикле, уже производите сглаживание через iMAOnArray.
Да не о времени речь, сперва сделайте и сравните.
В конце концов, возьмите любой индикатор, в котором используется ф-ция iMAOnArray и посмотрите как там реализовано.
PS.
Я указал на наличие ошибки, а вопросы по кодингу в другой теме.
У меня нет вопросов по кодингу
То, что Вы отказываетесь видеть - не означает, что его нет, имхо.
А почему Вы решили, что там сделано правильно?
Да потому, что там нет таких задержек - достаточный аргумент?
Данные при вызове в массиве уже есть, поясните в чём ошибка? Ошибка (недочёт по скорости или косяк MQL) внутри самой функции
На ошибку я указал выше и именно на Вашу ошибку, а не косяк MQL.
PS Вы когда-нибудь программировали на ассемблере (для любого процессора) рассчитывая такты процессора, чтобы уложиться в заданный интервал?
Не к чему "включать умняка" и ссылаться на то, что не имеет отношения.
А теперь по существу: ниже привожу два файла - Ваш оригинальный и мой с изменениями о которых сказано выше. Сперва оба индикатора набрасывались на график ТФ М5 - в логе запись о затраченном времени на выполнение кода ф-ции
start на истории в 50000 баров, затем, как индюки уже находились на графике, был переключен ТФ на М15 - о чем есть соответствующие записи. Надеюсь, Вы видите разницу по времени выполнения кода. Этого Вам достаточно, что бы теперь согласиться со мной?
PS.
Ниже привожу Ваш код индикатора с дописанным тестом на время выполнения кода. Если есть сомнения о верности измерений - справка по MQL подскажет. Так же,
для теста привожу свой вариант Вашего индикатора, но в закрытом коде и с ограничением времени работы только с целью что бы Вы сами смогли проверить и таки доработали, как автор, свой же индикатор.