![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
При запуске терминала советник на графике проверяет наличие глобальной переменной и в случае ее отсутствия создает ее и устанавливает свой номер. Графики клиенты посылают сообщения чарту-менеджеру.
Затем пользователь закрывает окно с чартом-менеджером. Клиенты посылают запросы окну, которое больше не существует.
Иначе говоря в статье обошли вниманием проблему смены чарта-менеджера. То есть стоит только закрыть управляющий график и вся схема рушится.
При запуске терминала советник на графике проверяет наличие глобальной переменной и в случае ее отсутствия создает ее и устанавливает свой номер. Графики клиенты посылают сообщения чарту-менеджеру.
Затем пользователь закрывает окно с чартом-менеджером. Клиенты посылают запросы окну, которое больше не существует.
Иначе говоря в статье обошли вниманием проблему смены чарта-менеджера. То есть стоит только закрыть управляющий график и вся схема рушится.
В статье предложена технология и её минимальная реализация. Проверка на все возможные проблемные ситуации выходила за рамки статьи. Клиенты могут проверять существование чарта по его ID (доступен через pool.getManagerID). Все исходные коды открыты.
Обращаю внимание, что в процессе развития идеи, изложенной в статье, была разработана схема упрощенной многопоточной обработки запросов с помощью объектов. Там указанной проблемы нет "by design". Исходники также приложены в этой ветке. Так что рекомендуется пользоваться ими.
В статье предложена технология и её минимальная реализация. Проверка на все возможные проблемные ситуации выходила за рамки статьи. Клиенты могут проверять существование чарта по его ID (доступен через pool.getManagerID). Все исходные коды открыты.
Обращаю внимание, что в процессе развития идеи, изложенной в статье, была разработана схема упрощенной многопоточной обработки запросов с помощью объектов. Там указанной проблемы нет "by design". Исходники также приложены в этой ветке. Так что рекомендуется пользоваться ими.
Я видел развитие темы )) Но к сожалению использование объектов "чарт" доступно, как и было указано, только в МТ5.
Встроенный календарь - довольно общий, так что полезной профильной информации для скачивания из сторонних источников по-прежнему остается много. Причем, это не только новости, но и сигналы, и котировки с криптовалютных бирж и пр. Задумка по поводу использования параллельных потоков для вычислений, а не веб-запросов, есть, но пока не реализована. Но я не понял про сервисы. Имеются в виду сервисы как программы MQL5? MQ не предоставила для них никакой двусторонней связи с другими программами (невозможно переслать туда "задание" на расчет и получить результат). Так что эти сервисы отпадают.
Какое смещение (input int MessageBroadcast) для пользовательских событий должно быть, если в программе используются элементы UI из стандартной библиотеки (Include\Controls\)? Как это можно узнать?
Я не большой знаток библиотеки. Судя по определению событий в файле Defines.mqh, там максимальный зарезервированный индекс - 100.
Я не большой знаток библиотеки. Судя по определению событий в файле Defines.mqh, там максимальный зарезервированный индекс - 100.
Очевидно, что от 15 до 99 разработчики оставили запас для новых id событий. Но помимо этого мне бросилась в глаза еще одна константа.
Максимальный номер или максимальное количество идентификаторов в приложении. Что это может значить?...
Очевидно, что от 15 до 99 разработчики оставили запас для новых id событий. Но помимо этого мне бросилась в глаза еще одна константа.
Максимальный номер или максимальное количество идентификаторов в приложении. Что это может значить?...
Судя по словам - идентификаторы контролов. Контролы - не события.
Судя по словам - идентификаторы контролов. Контролы - не события.
Возможно... Но там не написано какие идентификаторы. Поставил MessageBroadcast 10000 и всё работает. Можно поставить хоть 1000000 и больше, тип ushort позволяет. Хотя и со 100 конфликтов не будет. В любом случае у любого элемента UI есть свой id, который проверяется в условиях обработки событий. В общем, вероятность нормальной работы довольно большая.