Скачать MetaTrader 5

Использование модулей из MQL4\Include\Controls

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Тысяча человек уже опубликовали продукты в Маркете. Опубликуй и ты свой!
Mihail Matkovskij
2563
Mihail Matkovskij 2015.08.25 12:21 
Где можно почитать об использовании модулей из папки MQL4\Include\Controls (диалоговые окна и элементы управления на графике с помощью ООП)?
Alexey Volchanskiy
16673
Alexey Volchanskiy 2015.08.25 19:06  
Mihail Matkovskij:
Где можно почитать об использовании модулей из папки MQL4\Include\Controls (диалоговые окна и элементы управления на графике с помощью ООП)?

Просто ищите статьи по этой тематике для MQL5, библиотеки одинаковы, но в MQL5 она побогаче. Поиском по сайту "элемент управления". И также смотрите справку по MQL5 - Стандартная библиотека.

Ihor Herasko
9043
Ihor Herasko 2015.08.25 19:09  
Можно еще попытаться самому разобраться в методах. Код там удобочитаем.
Andrey Khatimlianskii
56177
Andrey Khatimlianskii 2015.08.26 05:05  
Игорь Герасько:
Можно еще попытаться самому разобраться в методах. Код там удобочитаем.
Но сюрпризов в процессе разработки будет ой как немало! ;)
Vladimir Karputov
Модератор
45783
Vladimir Karputov 2015.08.26 05:47  
Mihail Matkovskij:
Где можно почитать об использовании модулей из папки MQL4\Include\Controls (диалоговые окна и элементы управления на графике с помощью ООП)?
Переходите на MQL5 - много статей и документация с примерами.
Alexander Puzanov
29607
Alexander Puzanov 2015.08.26 06:30  
Karputov Vladimir:
Переходите на MQL5 - много статей и документация с примерами.
Дак вроде кроме торговых операций разницы почти нет меж стандартными библиотеками MT4 / 5 ?
Alexey Volchanskiy
16673
Alexey Volchanskiy 2015.08.26 07:49  
Alexander Puzanov:
Дак вроде кроме торговых операций разницы почти нет меж стандартными библиотеками MT4 / 5 ?
В МТ5 побогаче будет.
Alexander Puzanov
29607
Alexander Puzanov 2015.08.26 08:10  
Alexey Volchanskiy:
В МТ5 побогаче будет.
SubChart не вижу - это существенно. Без диаграмм и волн Эллиотта я лично грустить не буду. А что ещё?
Ihor Herasko
9043
Ihor Herasko 2015.08.26 09:03  
Andrey Khatimlianskii:
Но сюрпризов в процессе разработки будет ой как немало! ;)
Вот потому и лучше разобраться в коде )). Уже пару раз приходилось корректировать стандартную библиотеку под себя.
Mihail Matkovskij
2563
Mihail Matkovskij 2015.08.26 15:02  
Andrey Khatimlianskii:
Но сюрпризов в процессе разработки будет ой как немало! ;)

Точно! И первый сюрприз, переполнение стека (Stack overflow) и небольшая неадекватность кнопок. Мой пробный индикатор добавляет на чарт окно (наследник класса CAppDialog), при попытке свернуть его вылетает Stack overflow, при закрытии, индикатор полностью удаляется с графика. Попробовал реализовать обработку кликов по кнопке (как описано здесь https://www.mql5.com/ru/articles/345) и все кнопки (включая те для которых я не успел ещё сделать обработку кликов) стали вдруг отжиматься при отпускании мыши. Мне же нужно чтобы те кнопки, для которых установлена обработка кликов отжимались, а те на которых установлены обработчики OnMouseDown и OnMouseUp сохраняли своё нажатое/отжатое состояние. Я точно не знаю, но думаю, что вся проблема в неправильной обработке событий с помощью макросов, да и сам обработчик событий родительского класса (CAppDialog) написан немного неправильно.

Для обработки событий используется следующий механизм, в наследнике класса CAppDialog прописывается:

virtual bool  OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam);

Но обработчик переопределяет не функция, а набор макросов. Можно ли переопределить OnEvent не макросами, а с помощью функции, как обычно, тогда переполнение стека при сворачивании окна должно исчезнуть и обработку нажатий на кнопки можно будет сделать свою? Ещё, если обработчик OnEvent будет свой, как сделать обращение к кнопкам сворачивания и закрытия окна?

Создай свои графические панели на MQL5
Создай свои графические панели на MQL5
  • 2012.01.11
  • MetaQuotes Software Corp.
  • www.mql5.com
Удобство пользования MQL5-программой определяется не только её богатой функциональностью, но и продуманным графическим интерфейсом. Визуальное восприятие иногда гораздо важнее, чем быстрая и стабильная работа. Перед вами пошаговое руководство по самостоятельному созданию индикаторных панелей на основе классов Стандартной библиотеки.
Andrey Khatimlianskii
56177
Andrey Khatimlianskii 2015.08.27 13:53  
Игорь Герасько:
Вот потому и лучше разобраться в коде )). Уже пару раз приходилось корректировать стандартную библиотеку под себя.

Иногда проще написать все заново, чем разбираться в таком объеме кода.

Проблема в том, что по нему совсем нет документации. А двигаться вслепую получается медленно, а иногда и больно )

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий