Ограничение расчетов индикатора. HELP!!!

 

Столкнулся с проблемой. При вызове многократно индикатора через 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++).

В результате отдельно индикатор работает замечательно, а при вызове вызывает описанную ошибку. Не могу понять, где подвох.

 
zfs писал(а) >>

Столкнулся с проблемой. При вызове многократно индикатора через Custom ресурсы компьютера(терминала) куда-то быстренько улетучились.

Посмотрите тут, не такая же ли у Вас проблема?

 
zfs писал(а) >>

Столкнулся с проблемой. При вызове многократно индикатора через 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++).

В результате отдельно индикатор работает замечательно, а при вызове вызывает описанную ошибку. Не могу понять, где подвох.

Это в тестере или в терминале?

 
Vinin >>:

Это в тестере или в терминале?

В терминале.

 
Расчет индикатора производится непотиково, а раз в минуту. Но такой результат я вижу сразу при инициализации.
 
zfs писал(а) >>

В терминале.

Надо сам индикатор смотреть.

 
Vinin >>:

Надо сам индикатор смотреть.

Скинул на почту.