Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
эти функции написаны ужасно плохо. Там черт голову словит. Ни нормальной сглаженности, ни нормальной работы со смешиванием цветов и прозрачности. Нужно просто смять их и выбросить в корзину, а новые написать.
Я уже писал об этом вот здесь.
Во всяком случае точно нужно штатную функцию PixelTransform заменить на эту:
https://www.mql5.com/ru/forum/1111/page2553#comment_13054823
Свою double (где все int входные параметры double) версию начал писать, но не дописал, отложил на полку. Не очень простая задача на кажущуюся простоту. Точнее написать не проблема, проблема написать очень качественно, чтобы быстрый алгоритм был. Моя главная проблема - это Перфекционизм.Понятно, не допилили)
Я вряд ли сподвигнусь на переписывание всего канваса. Придется пока рисовать 2 однопиксельные рядом вместо 1 двухпиксельной )
Понятно, не допилили)
Я вряд ли сподвигнусь на переписывание всего канваса. Придется пока рисовать 2 однопиксельные рядом вместо 1 двухпиксельной )
На самом деле не нужно переписывать весь канвас. Главное сделать окружнсть формата
и линии нормальные сделать
это покроет выполнение 95% задач
Forum on trading, automated trading systems and testing trading strategies
how to convert all objects into 1 object
Nikolai Semko, 2019.10.05 22:39
Indeed, Canvas is the solution.
And Canvas is much easier than it seems at first glance.
Here is a primitive example of an indicator (MQL5 & MQL4) with one object OBJ_BITMAP_LABEL in which there are many windows.
Класс!
Мне очень нужна такая возможность, и чтобы в этих миниокошках можно было рисовать свои индикаторы.
Почему одно окно скрывается под другим, а другое ложится сверху, можно исправить?
Еще вопросы, если такой же индикатор запустить на другом чарте, будет работать? Не будут события перекликаться как в стандартной библиотеке?
И если оба окна с одинаковыми координатами, какое окно будет перетаскиваться мышкой?
Можно ли с помощью мышки менять размер окна?
Класс!
Мне очень нужна такая возможность, и чтобы в этих миниокошках можно было рисовать свои индикаторы.
Почему одно окно скрывается под другим, а другое ложится сверху, можно исправить?
Еще вопросы, если такой же индикатор запустить на другом чарте, будет работать? Не будут события перекликаться как в стандартной библиотеке?
И если оба окна с одинаковыми координатами, какое окно будет перетаскиваться мышкой?
Можно ли с помощью мышки менять размер окна?
В данном примере просто реализово старшинство окон. По сути чем меньше индекс в массиве структур win, тем ниже виртуальный слой окна.
Можно реализовать как угодно. Например если "схватили" окно, то оно стало самым верхним на экране и в массиве.
Можно реализовать прозрачность. Здесь показывал как это сделать. (там нужно обрабатывать кажный пискель).
На другом чарте тоже можно запускать.
Если одинаковые координаты, то перетаскивается то, которое сверху.
с канвасом можно все в пределах своего окна и других окон МТ.
Более того, можно откреплять окно от МТ5 и отправлять его в свободное плавание, хоть между мониторами. Здесь это можно увидеть.
В данном примере просто реализово старшинство окон. По сути чем меньше индекс в массиве структур win, тем ниже виртуальный слой окна.
Можно реализовать как угодно. Например если "схватили" окно, то оно стало самым верхним на экране и в массиве.
Можно реализовать прозрачность. Здесь показывал как это сделать. (там нужно обрабатывать кажный пискель).
На другом чарте тоже можно запускать.
Если одинаковые координаты, то перетаскивается то, которое сверху.
с канвасом можно все в пределах своего окна и других окон МТ.
Более того, можно откреплять окно от МТ5 и отправлять его в свободное плавание, хоть между мониторами. Здесь это можно увидеть.
Немного не то, наверно не правильно задал вопрос.
В одной программе (скрипте, индикаторе) не сложно организовать несколько окон.
Я хочу сделать индикатор, который будет показывать данные в своём небольшом окне на чарте. И чтобы это окно можно было располагать удобно на чарте, перетаскивать мышкой, менять размер окна мышкой (желательно но можно и без этого). Надо запускать несколько таких индикаторов на чарте, каждый со своими параметрами. Пока не могу сообразить как сделать, чтобы события разных индикаторов не пересекались и индикатор адекватно реагировал на события мыши. И пока не решил что лучше, проще, канвас или объекты. С стандартной библиотекой Dialog ничего не получается.
...Пока не могу сообразить как сделать, чтобы события разных индикаторов не пересекались...
Самый простой способ - строковая переменная в окне свойств, добавлять ее к именам графических объектов.
Самый простой способ - строковая переменная в окне свойств, добавлять ее к именам графических объектов. Разум рвется между истиной и членством в клубе?
Естественно, так и делаю. Проблема в перетаскивании мышью. Если у объектов одинаковые координаты, один находится точ-в-точ под другим. При клике мышкой на них, какой отреагирует?
Про какие клубы вы говорите, я ни в какие клубы не записывался и не собираюсь ))
p.s. можете показать пример?
Естественно, так и делаю. Проблема в перетаскивании мышью. Если у объектов одинаковые координаты, один находится точ-в-точ под другим. При клике мышкой на них, какой отреагирует?
Про какие клубы вы говорите, я ни в какие клубы не записывался и не собираюсь ))
p.s. можете показать пример?
Про клуб не туда написал, извините... надо завязывать с этим клубом))
Какой-то один объект отреагирует. Наверно над при активации объекта менять ему Z-order, что бы он был выше всех. Надо попробовать.
Естественно, так и делаю. Проблема в перетаскивании мышью. Если у объектов одинаковые координаты, один находится точ-в-точ под другим. При клике мышкой на них, какой отреагирует?
Про какие клубы вы говорите, я ни в какие клубы не записывался и не собираюсь ))
p.s. можете показать пример?
Вообще, в такой ситуации должен отреагировать тот объект, который последним был перемещён - он же наверху...