Библиотеки: Библиотека совместимости MQL4 с MQL5

 

Библиотека совместимости MQL4 с MQL5:

В этой библиотеке реализовано большинство функций MQL4, за исключением торговых механизмов советника.

Для функций, которые выдают ошибку в MetaTrader 5, написаны альтернативы. Они имеют практически идентичные имена, но оканчиваются на MQL4. Большинство альтернатив предназначены для конфликтующих функций с одноименными названиями в MQL5. Эта версия библиотеки содержит более полную базу функций языка MQL4, чем библиотека в исходной статье, где приведен только скелет. Для поиска же специфических функций в исходном коде рекомендуется использовать шаблон MQL4.

Автор: T-1000

 

Здравствуйте,

К сожалению, ваша библиотека неполная и с ошибками. Я пытаюсь использовать вашу библиотеку с этим индикатором mql4 http://codebase.mql4.com/7472. Я следую вашим инструкциям и получаю 47 ошибок и 14 предупреждений.

'JJN-Fibo_with_compat_library.mq5' JJN-Fibo_with_compat_library.mq5 1 1
'mql4compat.mqh' mql4compat.mqh 1 1
'i' - незаявленный идентификатор JJN-Fibo_with_compat_library.mq5 150 8
'ObjectDelete' - неправильный подсчет параметров JJN-Fibo_with_compat_library.mq5 175 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 176 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 177 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 178 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 179 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 180 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 181 4
'DisplayDec' - необъявленный идентификатор JJN-Fibo_with_compat_library.mq5 190 4
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 196 4
'DisplayDec' - необъявленный идентификатор JJN-Fibo_with_compat_library.mq5 197 100
'StringConcatenate' - неправильный подсчет параметров JJN-Fibo_with_compat_library.mq5 197 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 197 30
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 198 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 199 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 199 30
'ObjectCreate' - неправильный подсчет параметров JJN-Fibo_with_compat_library.mq5 200 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 201 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 201 30
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 202 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 203 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 203 30
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 204 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 205 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 205 30
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 206 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 207 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 207 30
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 208 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 209 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 209 30
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 214 4
'DisplayDec' - необъявленный идентификатор JJN-Fibo_with_compat_library.mq5 215 104
'StringConcatenate' - неправильный подсчет параметров JJN-Fibo_with_compat_library.mq5 215 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 215 30
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 216 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 217 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 217 30
'ObjectCreate' - неправильный подсчет параметров JJN-Fibo_with_compat_library.mq5 218 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 219 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 219 30
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 220 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 221 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 221 30
'ObjectCreate' - неправильный подсчет параметров JJN-Fibo_with_compat_library.mq5 222 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 223 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 223 30
'ObjectCreate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 224 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 225 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 225 30
'ObjectCreate' - неправильный подсчет параметров JJN-Fibo_with_compat_library.mq5 226 4
'StringConcatenate' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 227 30
неявное преобразование из 'числа' в 'строку' JJN-Fibo_with_compat_library.mq5 227 30
'ObjectDelete' - неверное количество параметров JJN-Fibo_with_compat_library.mq5 99 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 100 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 101 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 102 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 103 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 104 4
'ObjectDelete' - неверный подсчет параметров JJN-Fibo_with_compat_library.mq5 105 4
'return' - функция 'void' возвращает значение JJN-Fibo_with_compat_library.mq5 110 4
47 ошибка(и), 14 предупреждение(и) 48 15

 
angevoyageur:

Здравствуйте,

К сожалению, ваша библиотека неполная и с ошибками. Я пытаюсь использовать вашу библиотеку с этим индикатором mql4 http://codebase.mql4.com/7472. Я следую вашим инструкциям и получаю 47 ошибок и 14 предупреждений.

Имена функций, которые дают ошибки, необходимо скорректировать, добавив MQL4 в конце их имен, чтобы ошибки компиляции исчезли.

Кроме того, я протестировал этот индикатор на MT4, похоже, он не работает должным образом и там.

P.S> Я сделал несколько небольших обновлений и исправлений для библиотеки совместимости, так что вы можете взять последнюю версию 1.1, как только она будет одобрена. В версии 1.0 функция StringConcatenate() не работала должным образом, так как она конфликтует между MQL4 и MQL5 в том, как она работает - в версии 1.1 добавлена StringConcatenateMQL4
 
T-1000:
Имена функций, которые выдают ошибки, нужно подправить, добавив в конце их имен MQL4, чтобы ошибки компиляции исчезли.

Также я протестировал этот индикатор на MT4, похоже, что и там он работает некорректно.

P.S> Я сделал несколько небольших обновлений и исправлений для библиотеки совместимости, так что вы можете взять последнюю версию 1.1, как только она будет одобрена. В версии 1.0 функция StringConcatenate() не работала должным образом, так как она конфликтует между MQL4 и MQL5 в том, как она работает - в версии 1.1 добавлена StringConcatenateMQL4.

Спасибо за ваш ответ. Я проверю, когда будет доступна ваша версия 1.1.

  • Если нужно корректировать много имен функций, то это уже не библиотека совместимости, лучше бы подправить библиотеку, чтобы убрать суффикс 'MQL4'. Я знаю, что это возможно не для всех функций (например, StringConcatenate).
  • Я предлагаю вам проверить такой код, так как WHOLE_ARRAY не предназначен для работы с функцией Copyxxx, и результат работы этой функции, вероятно, не тот, который вы хотите получить.
void __Open(double &_Open[])
  {
   ArraySetAsSeries(_Open,true);
   CopyOpen(_Symbol,_Period,0,WHOLE_ARRAY,_Open);  // What is the returned value ?
  }
 

на троечку.

а реализация опроса стандартных индикаторов вообще лажа.

 
Когда я компилирую файл mql4compat.mqh, я получаю ошибку: Ошибка
 

Эта библиотека, похоже, не обновлялась в 2021 году. Я пытался связаться с автором, отправляя ему сообщения через MQL5, но ответа не было. Я постоянно подключался к упомянутому IRC-чану больше месяца, но все это время я был один...

Поэтому я создал на github версию, которая исправляет предупреждения / ошибки при компиляции с MQL5 версии build 2981, а также очень грубую библиотеку, которая позволяет запускать обратно сконвертированный скрипт / советник на MQL4.

Так что получите последнюю версию здесь: https: //github.com/eromawyn/mql4compat.

И не стесняйтесь присылать мне свои патчи, если у вас получилось что-то интересное!

GitHub - eromawyn/mql4compat: MQL4 to MQL5 compatibility library
GitHub - eromawyn/mql4compat: MQL4 to MQL5 compatibility library
  • github.com
MQL4 to MQL5 compatibility library. Contribute to eromawyn/mql4compat development by creating an account on GitHub.