Как побороть зернистость графика?

 

Проблема: нужно отобразить на графике некие области толщиной от одного пункта и теоретически до бесконечности. Для этого пока удобнее всего использовать объект "прямоугольник" с заливкой (без заливки - не выход). Когда прямоугольник получается достаточно высокий, то он отображается при любом масштабе графика. Но стоит прямоугольнику дать небольшую высоту, сопоставимую с размером пикселя на графике, он затирает сам себя.


С линиями такой проблемы нет. Но отображать область высотой в 100-200 пунктов линиями похоже на перебор. 

Как же оптимально отобразить области малого размера таким же образом, как и достаточно большие области?

 
Я так понимаю, это надо в mql4? К сожалению там нет того что есть в есть mql5 — DRAW_FILLING
 
Alexey Viktorov:
Я так понимаю, это надо в mql4? К сожалению там нет того что есть в есть mql5 — DRAW_FILLING

Проблема одинаковая для обоих терминалов. На видео (клик на рисунок) МТ5. В МТ4 фон выступает в качестве заливки.

 

Делать проверку "поинт на пиксель" и перерисовывать такие прямоугольники с обводкой, без заливки.

Ну или пусть пропадает, ничего страшного не вижу)

 

Можно рисовать прямоугольник и по одному краю линию или два прямоугольника рисовать - один с фоном, другой без.

 
Taras Slobodyanik:

Делать проверку "поинт на пиксель" и перерисовывать такие прямоугольники с обводкой, без заливки.

Ну или пусть пропадает, ничего страшного не вижу)

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

 
Dmitry Fedoseev:

Можно рисовать прямоугольник и по одному краю линию или два прямоугольника рисовать - один с фоном, другой без.

Точно! Это то самое решение, которое чувствовал, но не мог сформулировать. Спасибо.

 
Ihor Herasko:

Проблема одинаковая для обоих терминалов. На видео (клик на рисунок) МТ5. В МТ4 фон выступает в качестве заливки.

Какая цель темы? Сделать что надо или поговорить о проблеме? Если для МТ5, то просто замените рисование прямоугольника на построение индикатора DRAW_FILLING. 
 
Alexey Viktorov:
Какая цель темы? Сделать что надо или поговорить о проблеме? Если для МТ5, то просто замените рисование прямоугольника на построение индикатора DRAW_FILLING. 

Это советник, не индикатор. Решение подсказал Дмитрий. Еще раз спасибо ему.

 
Хотя вопрос, думаю, закрыт, вставлю свои 5 копеек. Вопрос более интересно решается если рисовать картинками. Там и прозрачность есть ARGB, да и качество прорисовки лучше(что вижу то пою). Таких вопросов возникать не будет.
 
ROMAN KIVERIN:
Хотя вопрос, думаю, закрыт, вставлю свои 5 копеек. Вопрос более интересно решается если рисовать картинками. Там и прозрачность есть ARGB, да и качество прорисовки лучше(что вижу то пою). Таких вопросов возникать не будет.

Да, для конечного продукта можно и на канвасе порисовать, и BMP Label поюзать. Но на данном этапе это все лишнее, т. к. требуется оценить стратегию, а для этого нужно лишь видеть все определенные области.

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