Проблема с отрисовкой/вычислением индикаторов в терминале - страница 3

 
I_SPQR_I:



с этим согласен. но разве RefreshRates() не достаточно?



А при чем тут RefreshRates() . Он чаще всего нужен в советниках и скриптах. В индикаторе он совершенно бесполезен
 
Vinin:

Экспериментальная версия от рабочей отличается простотой. Что же будет в рабочей - страшно представить

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


хотя признаюсь я вам выдал далеко не весь код индикатора: удалены строки, вычисляющие итоговый вердикт и выводящие его во внешние файлы

а если совсем вкратце описать суть этого индикатора, то он с помощью целочисленного алгоритма Фурье (если не ошибаюсь) заданной степени апроксимирует временной ряд, дополняя это некоторыми предварительными расчетами

 
Vinin:

А при чем тут RefreshRates() . Он чаще всего нужен в советниках и скриптах. В индикаторе он совершенно бесполезен

ну как же при чем? Я полагаю, что RefreshRates() обновляет массивы-таймсерии, что гарантирует вычисление индикатором всех полученных баров

тем более, может вы это заметили, что индикатор фактически запускается как скрипт с приходом новой котировки

 
I_SPQR_I:

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


хотя признаюсь я вам выдал далеко не весь код индикатора: удалены строки, вычисляющие итоговый вердикт и выводящие его во внешние файлы

а если совсем вкратце описать суть этого индикатора, то он с помощью целочисленного алгоритма Фурье (если не ошибаюсь) заданной степени апроксимирует временной ряд, дополняя это некоторыми предварительными расчетами


Подход - от простого к сложному использует большинство - обратного не видел ни разу. Видимо что-то будет страшнее атомной войны. Не обижайтесь, легкая ирония. Просто имею опыт оптимизации чужих творений (коэффициент уменьшения кода примерно 3-3.5), иногда удается дойти до 5.

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

Может Мишек с Комаром и Саньком пари заключат  (только мне пятьдесят процентов)

 
I_SPQR_I:

ну как же при чем? Я полагаю, что RefreshRates() обновляет массивы-таймсерии, что гарантирует вычисление индикатором всех полученных баров

тем более, может вы это заметили, что индикатор фактически запускается как скрипт с приходом новой котировки


Гарантирует вычисления разработчик - предусмотрел, рассчитал. Конечно разработчик индикатора
 
Vinin:


Подход - от простого к сложному использует большинство - обратного не видел ни разу. Видимо что-то будет страшнее атомной войны. Не обижайтесь, легкая ирония. Просто имею опыт оптимизации чужих творений (коэффициент уменьшения кода примерно 3-3.5), иногда удается дойти до 5.

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

Может Мишек с Комаром и Саньком пари заключат  (только мне пятьдесят процентов)


скажем так: проблема оптимизации остро передо мной не стоит. я оптимизирую код - не превыкать.


вот что делать с правильностью отрисовки при последовательной работе индикатора?

может периодически запускать функцию init().

сможет ли она переинициировать индикатор, так же как переинициирует закрытие окна свойств с помощью OK?

 
I_SPQR_I:

скажем так: проблема оптимизации остро передо мной не стоит. я оптимизирую код - не превыкать.


вот что делать с правильностью отрисовки при последовательной работе индикатора?

может периодически запускать функцию init().

сможет ли она переинициировать индикатор, так же как переинициирует закрытие окна свойств с помощью OK&


Эдак Вы до мата меня доведете. Может лучше постараться нормально сделать
 
Vinin:

Гарантирует вычисления разработчик - предусмотрел, рассчитал. Конечно разработчик индикатора
ну да конечно. ))) гарантирует разработчик с помощью RefreshRates() etc

=============================================


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

 
 

Для начала уберите ВСЕ static переменные (пусть будут "просто глобальными") - потом расскажете, что получилось.

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