Библиотеки: ServicesMT.dll v4.3.22.0. - страница 3

 


Попытался открыть EURUSD.

Библиотека не рабочая. Работают не все функции.

 
Debugger:

Попытался открыть EURUSD.

Библиотека не рабочая. Работают не все функции.

Если с глазами всё в порядке, то с внимательностью точно что-то не так.

Красным выделил, что некоторые функции (9 штук) доступны не всем. В том числе и ServiceOpenChartSetPeriod().

 

Здравствуйте, а что он даже не компилится?

2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;272:30;'VK_1' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;273:30;'VK_MENU' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;283:30;'VK_2' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;284:30;'VK_MENU' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;294:30;'VK_3' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;295:30;'VK_MENU' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;307:30;'VK_F11' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;311:30;'VK_F11' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;681:25;'VK_L' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;682:25;'VK_CONTROL' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;691:25;'VK_L' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;692:25;'VK_CONTROL' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;702:87;'VK_F8' - variable not defined

 
paramore1999:

Здравствуйте, а что он даже не компилится?

2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;272:30;'VK_1' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;273:30;'VK_MENU' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;283:30;'VK_2' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;284:30;'VK_MENU' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;294:30;'VK_3' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;295:30;'VK_MENU' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;307:30;'VK_F11' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;311:30;'VK_F11' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;681:25;'VK_L' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;682:25;'VK_CONTROL' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;691:25;'VK_L' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;692:25;'VK_CONTROL' - variable not defined
2;75;C:\Program Files (x86)\MMCIS MetaTrader 4 Client Terminal\experts\scripts\Check_ServicesMT4.dll.mq4;702:87;'VK_F8' - variable not defined

Эти константы надо самому объявлять. Они входят в мой WinUser32.mqh. Его не выкладываю, но, если надо вышлю. Собственно, это коды виртуальных клавиш. Их можно в инете найти.

В следующей сборке выложу обязательно. Только надо осозновать, что некоторые WinAPI-функции у меня могут быть описаны с иной сигнатурой, чем у вас. Возможно, что некоторый прежний код у вас компилироваться не будет. Надо будет синатуру править.

 
библиотека перестала работать на МТ4 билд 547, вызов из ZH_All_Quotings 4.10912 приводит к ошибке 126 (((
 
Есть два вопроса. 1. Как мне из своего советника бы узнать какое сейчас окно графика активное то есть я мышкой тычу в окна графиков, а советник должен определять активное, возможно ли это? 2. могу ли я вызвать из индикатора функцию выгрузки этого индикатора из графика чтобы ничего не порушилось? :) труд конечно титанический..
 
evillive:
библиотека перестала работать на МТ4 билд 547, вызов из ZH_All_Quotings 4.10912 приводит к ошибке 126 (((

:-) Рано ещё говорить, что перестала. Лучше сказать, что ещё не начинала.

Когда объявят релиз, тогда будет новая версия для работы с новым МТ4. Сейчас адаптирую под новый МТ4. Будут новые функции. Добавится новый раздел для работы с окном "Навигатор".

Ошибка 126 означает, что у Вас отсутствует какая-либо системная библиотека, которая требуется для полноценной работы ServisesMT4.dll. Обычно так бывает, если ServisesMT4.dll скомпилирована по минимальную весию ОС Windows Vista, где используется много новых функций WinAPI, а используется на ОС Windows XP, где этих функций нет. Ещё для работы этой библиотеки требуется ATL-библиотека "ATL100.DLL". Очень редко так бывает, что ОС не комплектована этой библиотекой.

Даже в этом виде библиотека будет работать в новом МТ4 после 509 билда. Но для функций со строковой сигнатурой придётся самому перекодировать строки. Параметры из UNICODE в ANSI. Возвращаемые значения из ANSI в UNICODE. Некоторые функции станут работать с ограничением, а некоторые некорректно. Таких функций очень мало (около 5) и все они недоступны для обычных пользователей.

harbor:
Есть два вопроса. 1. Как мне из своего советника бы узнать какое сейчас окно графика активное то есть я мышкой тычу в окна графиков, а советник должен определять активное, возможно ли это? 2. могу ли я вызвать из индикатора функцию выгрузки этого индикатора из графика чтобы ничего не порушилось? :) труд конечно титанический..

1. Можно сделать.

2. Выгрузка индикаторов происходит в отдельном потоке. Сам процесс выгрузки заканчивается самостоятельно и не влияет на работу MQL-программ.

 
harbor:
Есть два вопроса. 1. Как мне из своего советника бы узнать какое сейчас окно графика активное то есть я мышкой тычу в окна графиков, а советник должен определять активное, возможно ли это?

В разделе 4.2 есть необходимые функции для этого.

 

Вот ответ Славы на переходный период:

stringo:

Старые ex4-файлы работают и будут работать со старыми dll безо всяких ограничений.

Главное - не перекомпилируйте старые программы (чтобы не получить новые ex4). Ничего не трогайте и работайте, как работали

Библиотеку адаптировал, но работу с массивами строк не сделал. Метаквоты запретили компиляцию массивов строк до первого релиза.

Ждём...

 

Для своего советника использовал вашу библиотеку ServicesMT.mqh использовалась всего одна функция

 

ServiceMetaTraderKeyDown(19); т.е нажать кнопку пауза при тестировании с визуализацией потом идет цикл задержки и опять нажатие паузы

 

Преследовалась цель задержать тест пока на соседнем терминале проводится оптимизация

 

Выскакивает ошибка что не найден путь к каталогу данных терминала но потом работает

 

Вопрос можно ли это както реализовать используя стандартные winAPI без сторонних длл?

 

 и как можно получить доступ ко всем функциям? 

Причина обращения: