Выпущена бета-версия MetaTrader 4 Build 582 с обновленным языком MQL4 и Маркетом приложений - страница 58

 
wlad:
спасибо,
тоже так и думал, не совсем то, но можно с этим жить
вопрос теперь возникает: можно ли создать ех5 (так как компилатор один на всех) из метаедитора поставляемого к новой четвертке
или придётся открыть его с мт5?

Можно создать, если переименовать расширение у головного файла в mq5.

Внутри единого файла можно использовать в #ifdef макросы __MQL5__, __MQL4__, __MQL__ для разного поведения.

Макрос __MQL__ можно использовать для поддержки C++, где в одном файле можно иметь C/С++ и MQL4/5 код.

 
Renat:

Можно создать, если переименовать расширение у головного файла в mq5.

Внутри единого файла можно использовать в #ifdef макросы __MQL5__, __MQL4__, __MQL__ для разного поведения.

Макрос __MQL__ можно использовать для поддержки C++, где в одном файле можно иметь C/С++ и MQL4/5 код.

thanks
 
Kedr:

Добрый день, Ренат!

Билд 582

Индикатор, висящий на графике – не реагирует на изменения в extern-ах. Удаляем. Вешаем по новой этот же индикатор сразу с необходимыми изменениями в extern-ах – все нормально.

Индикатор, висящий на графике – не реагирует на перекомпиляцию с измененными extern – ами в коде. Удаляем. Вешаем по новой – нормально.

Индикатор, висящий на графике – перекомпилируем. Что то остается, что то пропадает на графике. Сам индикатор – не работает.

Поставил на график индикатор, который "автоматом" переехал в новую версию. Проверил работоспособность - все работает. Перекомпилировал - теперь не только не работает, но и удалять приходится как "объекты" - каждую строку в списке объектов отдельно через Delete
 
Renat:

Под перезагрузкой терминалы вы имеете в виду именно рестарт терминала?

Я взял простой код:

И запустил его как индикатор на чарте, он все показывал верно, я перезапустил терминал и все равно показывал верно:

Убрал флаг #pragma strict, перекомпилировал и все равно все работает верно. Переключение символов или периодов на графике показывает правильную работу.


Попробуйте снова перекомпилировать и проверить работу своей программы в 582 билде, пожалуйста.

Если не получится, то путь только один - прислать код в сервисдеск. После проверки мы удалим исходники.

Спасибо за подробный ответ!

В 582 все работает успешно!

Кстати, раз уж пишу, есть один вопрос. При установке (не обновлении) МТ4 поиск Вашего сервера выдает следующие результаты:

MetaQuotes-Demo

MetaQuotes-New-MT4 Test

Пользоваться, очевидно, нужно MetaQuotes-New-MT4 Test?

 
Kedr:
Поставил на график индикатор, который "автоматом" переехал в новую версию. Проверил работоспособность - все работает. Перекомпилировал - теперь не только не работает, но и удалять приходится как "объекты" - каждую строку в списке объектов отдельно через Delete

Приложите свой код, пожалуйста.

Нельзя же продолжать обсуждение программы, написанной вами, на словах без кода.

 
polycomp:

Спасибо за подробный ответ!

В 582 все работает успешно!

Кстати, раз уж пишу, есть один вопрос. При установке (не обновлении) МТ4 поиск Вашего сервера выдает следующие результаты:

MetaQuotes-Demo

MetaQuotes-New-MT4 Test

Пользоваться, очевидно, нужно MetaQuotes-New-MT4 Test?

Используйте MetaQuotes-Demo. Тестовый мы отключим после 3 февраля, так как он использовался только для периода раннего тестирования.
 
Kedr:
Поставил на график индикатор, который "автоматом" переехал в новую версию. Проверил работоспособность - все работает. Перекомпилировал - теперь не только не работает, но и удалять приходится как "объекты" - каждую строку в списке объектов отдельно через Delete
А не связано ли это с тем, что до тех пор, пока вы его не скомпилировали новым компилятором, он выполнялся старой виртуальной машиной, оставленной для совместимости. После того, как вы его скомпилировали в новом компиляторе, он теперь стал "не совсем совместимым" с новой версией?
 

Kedr:
Поставил на график индикатор, который "автоматом" переехал в новую версию. Проверил работоспособность - все работает. Перекомпилировал - теперь не только не работает, но и удалять приходится как "объекты" - каждую строку в списке объектов отдельно через Delete

artmedia70:

А не связано ли это с тем, что до тех пор, пока вы его не скомпилировали новым компилятором, он выполнялся старой виртуальной машиной, оставленной для совместимости. После того, как вы его скомпилировали в новом компиляторе, он теперь стал "не совсем совместимым" с новой версией?

Вполне возможно. Кстати, обьекты прекрасно удаляются из списка все сразу, если их выделить Ctrl+A.
 
Renat:

Приложите свой код, пожалуйста.

Нельзя же продолжать обсуждение программы, написанной вами, на словах без кода.

Отправил в личку
 
artmedia70:
А не связано ли это с тем, что до тех пор, пока вы его не скомпилировали новым компилятором, он выполнялся старой виртуальной машиной, оставленной для совместимости. После того, как вы его скомпилировали в новом компиляторе, он теперь стал "не совсем совместимым" с новой версией?

Вполне возможно...

Вопрос - что делать?