
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нет не можете - библиотека действует в другой области оперативной памяти.
Всё же можно, но с таким уровнем знаний автора это будет для него неподъёмно сложно.
Интересно, как это сделать в МКЛ (хотя бы суть)?
Советник вызывает функцию Symbol(HWND) из DLL. DLL активирует окно. Оно становится наверху Z-последовательности.
Считываем заголовок и выделяем имя инструмента. Потом 2 варианта вернуть его.
1. Заполняем входной буфер.
2. Возвращаем указатель на глобальный буфер.
Советник вызывает функцию Symbol(hwnd) из DLL. DLL активирует окно. Оно становится наверху Z-последовательности.
Считываем заголовок и выделяем имя инструмента. Потом 2 варианта вернуть его.
1. Заполняем входной буфер.
2. Возвращаем указатель на глобальный буфер.
Спасибо. Я вопрос по-другому понял: как передать указатель на функцию Symbol() в dll?
Спасибо. Я вопрос по-другому понял: "как передать указатель на функцию Symbol() в dll?"
Наверно, нельзя это сделать. Адресное пространство MQL4 виртуальное.
За это можно от Рената канделябром словить. ;)
+5!!!!! :)
За это можно от Рената канделябром словить. ;)
Советник вызывает функцию Symbol(HWND) из DLL. DLL активирует окно. Оно становится наверху Z-последовательности.
Считываем заголовок и выделяем имя инструмента. Потом 2 варианта вернуть его.
1. Заполняем входной буфер.
2. Возвращаем указатель на глобальный буфер.
Активировать не надо. Дескриптор и так уже есть. Перемудрил.
Активироать надо, когда нет связи между библиотекой и MQL4. Чтобы тот же дескриптор получить.
Т.е. функция в DLL такая - _Symbol(). Активация должна быть в коде MQL4 до вызова _Symbol(). Ненадёжный вариант.