MQL4 Перерисовка

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Igor Kryuchkov
8623
Igor Kryuchkov  
Всем привет, делаю индикатор уровней, но он почему то перерисовывается. Помогите исправить перерисовку.
Файлы:
Dmitry Fedoseev
57464
Dmitry Fedoseev  

Наверно из-за этого:

      if(iBarShift(NULL,0,t)>=i+50)
      {
         j=0;
      }

Рисование может зависеть от начального бара. После перезапуска терминала и при прокрутке графика начальный бар меняется. 

Igor Kryuchkov
8623
Igor Kryuchkov  
Dmitry Fedoseev:

Наверно из-за этого:

Рисование может зависеть от начального бара. После перезапуска терминала и при прокрутке графика начальный бар меняется. 


Интересно, не знал такого, даже не представлял. Какие есть методы исправить это?

Dmitry Fedoseev
57464
Dmitry Fedoseev  
Igor Kryuchkov:

Интересно, не знал такого, даже не представлял. Какие есть методы исправить это?


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

Igor Kryuchkov
8623
Igor Kryuchkov  
Dmitry Fedoseev:

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


Как рисовать буферы длинной 50 свечей?

Dmitry Fedoseev
57464
Dmitry Fedoseev  
Igor Kryuchkov:

Как рисовать буферы длинной 50 свечей?


А зачем? Не надо, а то будет еще одна перерисовка. Как выполнились условия, так присваиваем новое значение соответствующему элементу буфера, а если не исполняются условия, то копируем значение с предыдущего элемента. Будет выглядеть как канал.

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