Как сделать несколько гистограмм на один бар? - страница 2

 
Nikolai Semko:

Заполнять буферы можете чем угодно. Здесь речь об отображении. 
Канвас нужен для реализации того, что физически не возможно стандартными индикаторными примочками реализовать.

Я не о канвасе, а о сокращении и упрощении кода в случае не отображения МА. Будет или нет отображаться значение, а буфер надо заполнять чтобы он отображался в окне данных.

Самая интересная тема на форуме, Canvas - это круто! Спасибо.

Canvas - это круто!
Canvas - это круто!
  • 2018.02.16
  • www.mql5.com
Поставил себе задачу: коротким кодом эффектно продемонстрировать возможности пользовательской графики через класс CCanvas...
 
Alexey Viktorov:

Я не о канвасе, а о сокращении и упрощении кода в случае не отображения МА. Будет или нет отображаться значение, а буфер надо заполнять чтобы он отображался в окне данных.

Самая интересная тема на форуме, Canvas - это круто! Спасибо.

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

#property indicator_plots   3
//--- plot Ma1
#property indicator_label1  "Ma1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot Ma2
#property indicator_label2  "Ma2"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrBlue
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- plot Ma3
#property indicator_label3  "Ma3"
#property indicator_type3   DRAW_LINE
#property indicator_color3  clrGreen
#property indicator_style3  STYLE_SOLID
#property indicator_width3  1
 
Nikolai Semko:

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

Ааа... Ну, это такая мелочь на которую я не обращаю внимания...

Вопрос: Для чего эта строка в коде

   ChartSetInteger(0,CHART_CROSSHAIR_TOOL,0,true);
ведь это свойство поумолчанию true.
 
Alexey Viktorov:

Ааа... Ну, это такая мелочь на которую я не обращаю внимания...

Вопрос: Для чего эта строка в коде

ведь это свойство поумолчанию true.

Это чтобы вернуть значение по умолчанию, т.к. в подключаемой библиотеке iCanvas.mqh стоит false. Зря наверное поставил там.

 
Nikolai Semko:

Спасибо, Николай. Никогда не пользовался канвой. Попробую. А можно гистограмму через канву выводить в отдельное окно, как осциллятор?

Nikolai Semko:

Вариант через канвас в первом приближении (реализовано только для макс. увеличения)

Даже собственные буферы для гистограмы по сути не нужны

желтым маркером выделено то, что непосредственно относится к рисованию трехцветной гистограммы


Artyom Trishkin 2018.09.09 10:48

А без рисуемых МА? И чтобы в окне данных были значения каждого столбца гистограммы, а не просто трёх скользящих?

Вывести значения в окно данных не сложно. Достаточно объявить индикаторные буферы без графического построения.

Просмотр и настройка графиков - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
Просмотр и настройка графиков - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
  • www.metatrader5.com
Графики в торговой платформе отображают изменение котировок финансовых инструментов во времени. Они необходимы для проведения технического анализа и работы советников. Они позволяют трейдерам наглядно следить за котировками валют и акций в режиме реального времени и моментально реагировать на любое изменение ситуации на финансовых рынках...
 
Sergey Savinkin:

А можно гистограмму через канву выводить в отдельное окно, как осциллятор?

Да можно. Я уже исправил класс iCanvas для этого

Файлы:
iCanvas.mqh  23 kb
3Bars.mq5  9 kb
 
Nikolai Semko:

Да можно. Я уже исправил класс iCanvas для этого

Спасибо большое, буду пробовать.

 
Все думал, для чего canvas можно использовать и куда его приткнуть. Огромные: спасибо за вопрос Sergey Savinkin и спасибо за ответ Nikolai Semko, прям просветление посетило.