Пересчёт баров в истории на каждом тике - страница 3

 
Nikolai Semko:

не понимаю - в чем проблема?
Все работает на каждом тике, ничего не виснет.

У вас машина какая? А не у всех такие :)

P.S. и кстати, частый Print() также поедат ресурсы
 
Vitaly Muzichenko:

У вас while(i >= 0) крутит на каждом тике огромное число итераций, ровно столько, сколько баров. Это и приводит к зависанию. Тики идут практически постоянно, цикл не останавливается.

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

А если я буду менять значение параметра через тик, например на каждом не чётном значении тика (1,3,5,7...)

if(NewTik%2==1)

А на каждом чётном значении тика выполнять какое-то действие против зависания и для пересчёта (0,2,4,6...)

if(NewTik%2==0)
Nikolai Semko:

не понимаю - в чем проблема?
Все работает на каждом тике, ничего не виснет.

К сожалению у меня виснет при таком раскладе 

   int i=Bars-1;

   while(i >= 0)
     {
 
Vitaly Muzichenko:

У вас машина какая? А не у всех такие :)

P.S. и кстати, частый Print() также поедат ресурсы

да у меня далеко не мощная машина.

Файлы:
CrazyMa.mq4  7 kb
 
forex2030:

К сожалению у меня виснет при таком раскладе 

может у Вас действительно древний комп. Какая ОС? Сколько лет компьютеру?

 
Nikolai Semko:

может у Вас действительно древний комп. Какая ОС? Сколько лет компьютеру?

Да вроде шустрый))
Ноутбук sony vaio, win 7

 
Nikolai Semko:

может у Вас действительно древний комп. Какая ОС? Сколько лет компьютеру?

У меня тоже виснет на 8гб памяти и проце i5

P.S. сейчас тики не частые, устанавливал на 3 графа одновременно
 
forex2030:

Да вроде шустрый))
Ноутбук sony vaio, win 7

т.е. Вашему ноутбуку 7-11 лет?
Ну конечно это слишком устаревшее железо. И ОЗУ наверное 2 или 4 Гб?
По возможности обновляйтесь и переходите на Win10

 
forex2030:

Да вроде шустрый))
Ноутбук sony vaio, win 7

попробуйте этот вариант без iMA. Должно работать чуть быстрее.

А так же уменьшите количество баров 

не забывая перезагрузить терминал.


У меня при 15000 барах полный расчет осуществляется где-то за 2 милисекунды. Т.е. справится с частотой 500 тиков в секунду.

Файлы:
CrazyMa.mq4  9 kb
 
Nikolai Semko:

Ну да, ваши оба варианта работают быстро, и у меня без подвисаний

Индикатор МА я взял как пример чтобы понятней объяснить что добиваюсь и обнаружил что в моём коде МА оказывается тоже быстро работает
Причина в пользовательском индикаторе к которому я обращаюсь у себя в коде, это из-за него виснет получается

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