Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Приветствую!
Вы наверное скачиваете zip файл. Никогда его не скачивайте. Это недоработка MQ. Когда я обновляю версию, zip файл не перезаписывается, а доступа у меня нет к нему.
Кликните мышкой по самому файлу iCanvas.mqh или скопируйте из просмотра
Последняя версия 1.53
Николай, только скачал либу, буду пробовать, очень интересно и спасибо! А в ZIP в кодобазе до сих пор лежит старая версия 1.09!!! Хорошо, что я прочитал комменты и скачал напрямую. Я бы на вашем месте обязательно написал про этот выдающийся баг в ветку MT5, mql5, mql5.com предложения по улучшению !
Николай, только скачал либу, буду пробовать, очень интересно и спасибо! А в ZIP в кодобазе до сих пор лежит старая версия 1.09!!! Хорошо, что я прочитал комменты и скачал напрямую. Я бы на вашем месте обязательно написал про этот выдающийся баг в ветку MT5, mql5, mql5.com предложения по улучшению !
Спасибо Алексей!
Писал уже больше 4 лет назад.
Возможно есть пример такого использования?
Николай, можно ли использовать вашу библиотеку для отрисовки динамически изменяющихся "прямоугольников" привязаных к свечам, чтобы заменить ими использующиеся сейчас объекты типа OBJ_RECTANGLE. Нужно для того чтобы визуально красиво отображалось наложение прямоугольников (т.е. наличие прозрачности).
Возможно есть пример такого использования?
Конечно можно, но смотря для какого случая.
Если прямоугольников не много (~<1000) и им не надо делать часто ресайз, то можно обойтись стандартным CCanvas. В этом случае каждый прямоугольник - это отдельный канвас, привязанный к координатам цена-время. Будет необходимо позаботиться о "подчистки за собой", чтобы объкты не плодились безконтрольно.
Если же объектов много и они часто меняеют свои свойства, то проще будет воспользоваться этой библиотекой.
В этом случае вы создаете массив структур- виртуальных прямоугольников с необходимыми свойствами и выводите их на видимый чарт при наступлении события изменения чарта или при вашем событии изменения каких-либо свойств.
Это самый производительный вариант, и объект канваса(битмапа) здесь будет один, растянутый на весь экран. Но в этом варианте будет небольшое отставания графических объектов от чарта при вертикальном и горизонтальном скроллинге.
подходящий пример, пожалуй можно взять из этой же библиотеки Test_iCanvas.mq5. В этом примере есть полупрозначный прямоугльник с текстом, привязанный к барам. Если нужно, чтобы полупрозрачные прямоугльники смешивались цветами при наложении, то нужно будет функция такого прямоугльника. Если нужно, то могу помочь сделать по быстрому, или сами сделайте, используя функцию из класса iCanvas LineDA, точнее лучше LineHorizontalA.
ЗЫ нет пример Test_iCanvas.mq5 не очень подходящий, т.к. я там реализовал все по кривому через таймер. Надо переписать этот пример. Тупое было решение, сбивающее с толку.Ну посмотрите еще примеры здесь и здесь. Правда в этим примерах нет привязки к цена-вреямя. Для этого нужно польноваться функциями X и Y для перевода координат цена-время в координаты XY
а не планируете о реализации в вашей библиотеке объекта - прямоугольник позволяющего рисовать прямоугольник (создавать/перемещать/изменять) с заданными свойствами наподобие обычного графического объекта?
спасибо, за развернутый ответ.
а не планируете о реализации в вашей библиотеке объекта - прямоугольник позволяющего рисовать прямоугольник (создавать/перемещать/изменять) с заданными свойствами наподобие обычного графического объекта?
не совсем понятно, что Вы имеете ввиду.
Есть разные функции для рисования прямоугольников. Это достаточно чтобы создавать, перемещать и изменять.
Да, можно создать любой объект в виде структуры или класса в вашем стороннем коде, в котором прописать метод вывода на экран используя этот класс iCanvas или CCanvas, но нет смысла все возможные вариации реализаций делать внутри графической библиотеки. Важны только примитивы. У меня, конечно, есть своя расширенная функция этой библиотеки. Она в разы больше этой, но в ней кроме меня никто не разберется. Для себя и писал.
не совсем понятно, что Вы имеете ввиду.
Есть разные функции для рисования прямоугольников. Это достаточно чтобы создавать, перемещать и изменять.
Да, можно создать любой объект в виде структуры или класса в вашем стороннем коде, в котором прописать метод вывода на экран используя этот класс iCanvas или CCanvas, но нет смысла все возможные вариации реализаций делать внутри графической библиотеки. Важны только примитивы. У меня, конечно, есть своя расширенная функция этой библиотеки. Она в разы больше этой, но в ней кроме меня никто не разберется. Для себя и писал.
спасибо понял. после того как более детально ознакомлюсь с библиотекой и если возникнет конкретный вопрос тогда задам.
спасибо понял. после того как более детально ознакомлюсь с библиотекой и если возникнет конкретный вопрос тогда задам.
вот подходящий для вас пример советника:
для работы нужна версия iCanvas 1.54