Столкнулся с проблемой. При вызове многократно индикатора через Custom ресурсы компьютера(терминала) куда-то быстренько улетучились. Проблему решил обойти путем ограничения расчетов, индикатор каждый раз пересчитывал ненужные вычисления, добавил сдвиг, но это вызвало ошибки памяти и деления на ноль (все варианты деления на 0 я вроде как убрал) с соответствущем захватом физической памяти.
Corr4[_bar][n_smb-1]=iCustom(Symbol(),TimeFrame,"InternalCorr",параметры,NumBars1+SmPeriodFC+1,n_smb-1,BarN_N); - так было NumBars1+SmPeriodFC+1-период исследования, работало, но тупило.
Corr4[_bar][n_smb-1]=iCustom(Symbol(),TimeFrame,"IntCorr2",параметры,NBarFC+SmPeriodFC+1,_bar,n_smb-1,BarN_N); - стало, добавился _bar, это текущий исследуемый бар.
В вызываемом индикаторе я соответственно добавил новый параметр: extern int ShiftBars=0;//сдвиг рассчета (_bar)
а в цикле индикатора исправил вместо : for(iii=0; iii<limit; iii++) сделал for(iii=ShiftBars; iii<limit; iii++).
В результате отдельно индикатор работает замечательно, а при вызове вызывает описанную ошибку. Не могу понять, где подвох.
Это в тестере или в терминале?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Столкнулся с проблемой. При вызове многократно индикатора через Custom ресурсы компьютера(терминала) куда-то быстренько улетучились. Проблему решил обойти путем ограничения расчетов, индикатор каждый раз пересчитывал ненужные вычисления, добавил сдвиг, но это вызвало ошибки памяти и деления на ноль (все варианты деления на 0 я вроде как убрал) с соответствущем захватом физической памяти.
Corr4[_bar][n_smb-1]=iCustom(Symbol(),TimeFrame,"InternalCorr",параметры,NumBars1+SmPeriodFC+1,n_smb-1,BarN_N); - так было NumBars1+SmPeriodFC+1-период исследования, работало, но тупило.
Corr4[_bar][n_smb-1]=iCustom(Symbol(),TimeFrame,"IntCorr2",параметры,NBarFC+SmPeriodFC+1,_bar,n_smb-1,BarN_N); - стало, добавился _bar, это текущий исследуемый бар.
В вызываемом индикаторе я соответственно добавил новый параметр: extern int ShiftBars=0;//сдвиг рассчета (_bar)
а в цикле индикатора исправил вместо : for(iii=0; iii<limit; iii++) сделал for(iii=ShiftBars; iii<limit; iii++).
В результате отдельно индикатор работает замечательно, а при вызове вызывает описанную ошибку. Не могу понять, где подвох.