Только, к сожалению, шрифт для Comment не меняется. Он использует системный шрифт, без вариантов. Это я потом узнал на форуме. Значит, придётся лейблами выкручиваться.
Если не брезгуете чужими библами, то можете воспользоваться этим примером:
Формирование и вывод канваса с текстом на все окно занимает 1-3 миллисекунды.
В MT5 вывод comment занимает чуть больше времени. Если Вы собираетесь обновлять текстовую информацию 30 раз в секунду, то все равно не увидите тормозов.
Формирование и вывод канваса с текстом на все окно занимает 1-3 миллисекунды.
В MT5 вывод comment занимает чуть больше времени. Если Вы собираетесь обновлять текстовую информацию 30 раз в секунду, то все равно не увидите тормозов.
Я подробно не разбирался из-за чего Канвас может быть медленным, но мне кажется, что всё по той же причине... Пиксели в массиве нельзя выборочно изменить и дать команду на перерисовку. Сначала вносим изменения в массив, а затем обязательно ResourceCreate. Который копирует пиксели один за другим, а потом, аналогично, один за другим их выводит в чарт, а затем еще обновление чарта (ChartRedraw). Сколько ненужных операций... Это по любому добъёт загруженность процессора, когда он занят полезной обработкой данных. В то время как лейблы хоть пикселей занимают меньше (а значит выводится быстрее). И потом, их механизм вывода полностью внутри чарта (не нужно передавать массив). Хоть я достоверноне знаю алгоритм их работы, но мне кажется, они работают быстрее. Я раньше делал панель вывода текста на основе канвы. И при визуальном тестировании эксперта с такой панелью на тестере я не был впечатлён результатом. Помимо нагрузки самого советника работу тормозила перерисовка панели. Постоянно Update (ResourceCreate - ChartRedraw) на каждом тике. В то время как с лейблами я не замечал подобных тормозов.
Я подробно не разбирался из-за чего Канвас может быть медленным, но мне кажется, что всё по той же причине... Пиксели в массиве нельзя выборочно изменить и дать команду на перерисовку. Сначала вносим изменения в массив, а затем обязательно ResourceCreate. Который копирует пиксели один за другим, а потом, аналогично, один за другим их выводит в чарт, а затем еще обновление чарта (ChartRedraw). Сколько ненужных операций... Это по любому добъёт загруженность процессора, когда он занят полезной обработкой данных. В то время как лейблы хоть пикселей занимают меньше (а значит выводится быстрее). И потом, их механизм вывода полностью внутри чарта (не нужно передавать массив). Хоть я достоверноне знаю алгоритм их работы, но мне кажется, они работают быстрее. Я раньше делал панель вывода текста на основе канвы. И при визуальном тестировании эксперта с такой панелью на тестере я не был впечатлён результатом. Помимо нагрузки самого советника работу тормозила перерисовка панели. Постоянно Update (ResourceCreate - ChartRedraw) на каждом тике. В то время как с лейблами я не замечал подобных тормозов.
Это Вам только кажется.
Понятное дело, что нет ничего бесплатного, но канвас это самый быстрый способ вывода текста на экран из всех существующих в МТ5, так как канвас это основа, а комменты и лейблы это вторичный от канваса продукт.
Пользуйтесь распринтовкой, если Вы такой жадный до ресурсов вашего проца...
Я подробно не разбирался из-за чего Канвас может быть медленным, но мне кажется, что всё по той же причине... Пиксели в массиве нельзя выборочно изменить и дать команду на перерисовку. Сначала вносим изменения в массив, а затем обязательно ResourceCreate. Который копирует пиксели один за другим, а потом, аналогично, один за другим их выводит в чарт, а затем еще обновление чарта (ChartRedraw). Сколько ненужных операций... Это по любому добъёт загруженность процессора, когда он занят полезной обработкой данных. В то время как лейблы хоть пикселей занимают меньше (а значит выводится быстрее). И потом, их механизм вывода полностью внутри чарта (не нужно передавать массив ). Хоть я достоверно не знаю алгоритм их работы, но мне кажется, они работают быстрее. Я раньше делал панель вывода текста на основе канвы. И при визуальном тестировании эксперта с такой панелью на тестере я не был впечатлён результатом. Помимо нагрузки самого советника работу тормозила перерисовка панели. Постоянно Update ( ResourceCreate - ChartRedraw ) на каждом тике. В то время как с лейблами я не замечал подобных тормозов.
Пожалуйста, не говорите о том, чего вы не знаете. @Nikolai Semko абсолютно прав, и Canvas работает быстро и без каких-либо проблем или недостатков.
Понятное дело, что нет ничего бесплатного, но канвас это самый быстрый способ вывода текста на экран из всех существующих в МТ5, так как канвас это основа, а комменты и лейблы это вторичный от канваса продукт.
Пользуйтесь распринтовкой, если Вы такой жадный до ресурсов вашего проца...
Интересно, как это Вы определили, что лейблы созданы на основе канвы, если сама канва, это надстройка над OBJ_BITMAP_LABEL, а лейбл, это OBJ_LABEL?
Пока я общался здесь на форуме, то уже набросал панель вывода на лейблах, с любым заданным количеством строк и колонок. А для канвы у меня есть другие задачи, в других моих приложениях. И она там тоже очень хорошо работает.
Alain Verleyen: Пожалуйста, не говорите о том, чего вы не знаете. @Nikolai Semko абсолютно прав, и Canvas работает быстро и без каких-либо проблем или недостатков.
Значит, вероятно, Вы всё знаете? Тогда, может поделитесь знаниями или ссылками, где можно почитать о графике в MetaTrader, чтобы и я знал то, что Вы знаете? :)
Только, к сожалению, шрифт для Comment не меняется. Он использует системный шрифт, без вариантов. Это я потом узнал на форуме. Значит, придётся лейблами выкручиваться.
Если не брезгуете чужими библами, то можете воспользоваться этим примером:
Спасибо! Индикаторы на iCanvas впечатляют. Но это всё тот же Канвас со всеми вышеперечисленными недостатками.
Спасибо! Индикаторы на iCanvas впечатляют. Но это всё тот же Канвас со всеми вышеперечисленными недостатками.
Вы о каких недостатках?
Я подробно не разбирался из-за чего Канвас может быть медленным, но мне кажется, что всё по той же причине... Пиксели в массиве нельзя выборочно изменить и дать команду на перерисовку. Сначала вносим изменения в массив, а затем обязательно ResourceCreate. Который копирует пиксели один за другим, а потом, аналогично, один за другим их выводит в чарт, а затем еще обновление чарта (ChartRedraw). Сколько ненужных операций... Это по любому добъёт загруженность процессора, когда он занят полезной обработкой данных. В то время как лейблы хоть пикселей занимают меньше (а значит выводится быстрее). И потом, их механизм вывода полностью внутри чарта (не нужно передавать массив). Хоть я достоверно не знаю алгоритм их работы, но мне кажется, они работают быстрее. Я раньше делал панель вывода текста на основе канвы. И при визуальном тестировании эксперта с такой панелью на тестере я не был впечатлён результатом. Помимо нагрузки самого советника работу тормозила перерисовка панели. Постоянно Update (ResourceCreate - ChartRedraw) на каждом тике. В то время как с лейблами я не замечал подобных тормозов.
Или я дурак или лыжи не едут? мт4 билд 1320
Я подробно не разбирался из-за чего Канвас может быть медленным, но мне кажется, что всё по той же причине... Пиксели в массиве нельзя выборочно изменить и дать команду на перерисовку. Сначала вносим изменения в массив, а затем обязательно ResourceCreate. Который копирует пиксели один за другим, а потом, аналогично, один за другим их выводит в чарт, а затем еще обновление чарта (ChartRedraw). Сколько ненужных операций... Это по любому добъёт загруженность процессора, когда он занят полезной обработкой данных. В то время как лейблы хоть пикселей занимают меньше (а значит выводится быстрее). И потом, их механизм вывода полностью внутри чарта (не нужно передавать массив). Хоть я достоверно не знаю алгоритм их работы, но мне кажется, они работают быстрее. Я раньше делал панель вывода текста на основе канвы. И при визуальном тестировании эксперта с такой панелью на тестере я не был впечатлён результатом. Помимо нагрузки самого советника работу тормозила перерисовка панели. Постоянно Update (ResourceCreate - ChartRedraw) на каждом тике. В то время как с лейблами я не замечал подобных тормозов.
Я подробно не разбирался из-за чего Канвас может быть медленным, но мне кажется, что всё по той же причине... Пиксели в массиве нельзя выборочно изменить и дать команду на перерисовку. Сначала вносим изменения в массив, а затем обязательно ResourceCreate. Который копирует пиксели один за другим, а потом, аналогично, один за другим их выводит в чарт, а затем еще обновление чарта (ChartRedraw). Сколько ненужных операций... Это по любому добъёт загруженность процессора, когда он занят полезной обработкой данных. В то время как лейблы хоть пикселей занимают меньше (а значит выводится быстрее). И потом, их механизм вывода полностью внутри чарта (не нужно передавать массив ). Хоть я достоверно не знаю алгоритм их работы, но мне кажется, они работают быстрее. Я раньше делал панель вывода текста на основе канвы. И при визуальном тестировании эксперта с такой панелью на тестере я не был впечатлён результатом. Помимо нагрузки самого советника работу тормозила перерисовка панели. Постоянно Update ( ResourceCreate - ChartRedraw ) на каждом тике. В то время как с лейблами я не замечал подобных тормозов.
@Ilyas
Compiler bug ? Build 2817.
Это Вам только кажется.
Интересно, как это Вы определили, что лейблы созданы на основе канвы, если сама канва, это надстройка над OBJ_BITMAP_LABEL, а лейбл, это OBJ_LABEL?
Пока я общался здесь на форуме, то уже набросал панель вывода на лейблах, с любым заданным количеством строк и колонок. А для канвы у меня есть другие задачи, в других моих приложениях. И она там тоже очень хорошо работает.
Пожалуйста, не говорите о том, чего вы не знаете. @Nikolai Semko абсолютно прав, и Canvas работает быстро и без каких-либо проблем или недостатков.
Значит, вероятно, Вы всё знаете? Тогда, может поделитесь знаниями или ссылками, где можно почитать о графике в MetaTrader, чтобы и я знал то, что Вы знаете? :)
@Ilyas
Compiler bug ? Build 2817.
В MQL const это и не const вовсе. Фактически const только через макрос можно записать