Перерисовка последнего бара гистограммы.

 

Вопрос следующий.

Есть индикатор, рисующий гистограмму. Каждый из столбцов гистограммы по определённому алгоритму рисуется различным цветом. Если бы был один цвет, то всё просто (например, хрестоматийный МАКД, чей алгоритм отрисовки доступен). Но в данном случае нужно сделать как-то, чтобы последний столбец или стирался и отображался заново, или же становился невидимым и отображался заново, или вообще как-то иначе.

Смотрите на две картинки.

Первая - всё динамично изменяется. Вторая - желаемый результат, который должен быть изображён мгновенно при изменении условий алгоритма (читай - при изменении цены), вот только новый результат накладывается на старый, разные цвета рисуются на одном столбце. Ручной workaround - перейти на другой ТФ и вернуться в свой, но это не есть хорошо. Как програмно это оформить?

 
Очищать буфер, который не должен отображаться?
 
Присваивайте "пустое" значение нулевым элементам всех буферов индикатора перед вычислениями.
 
Irtron:
Присваивайте "пустое" значение нулевым элементам всех буферов индикатора перед вычислениями.


Не получается.

Рисую со значением "ноль", а затем сразу же рисую с нужным значением. Остаются предыдущие цвета.

 
 
if(условие1)
 
     { Buffer1[i]=0; Buffer1[i]=x; }
 
 else
     if(условие2)
 
        { Buffer2[i]=0; Buffer2[i]=y; }
 
Parabellum:

Не получается.

А какой сакральный смысл в строке "Buffer1[i]=0; Buffer1[i]=x;" ? ;)
Обнулять надо буфер, который не должен отображаться (розовый). А красному надо присваивать необходимое значение.
 
Irtron:
Присваивайте "пустое" значение нулевым элементам всех буферов индикатора перед вычислениями.


Получилось, спасибо.

 
komposter:
Очищать буфер, который не должен отображаться?

Точно.