Новая статья: Обновление на новый MetaTrader 4 билд 600 и выше

 

Опубликована статья Обновление на новый MetaTrader 4 билд 600 и выше:

В новой версии терминала MetaTrader 4 изменения коснулись не только языка программирования торговых стратегий MQL4, но также была изменена структура хранения пользовательских данных. Если раньше все программы, шаблоны, профили и т.д. хранились прямо в папке установки терминала, то теперь данные, необходимые для работы конкретного пользователя терминала, хранятся в отдельной специальной папке, называемой каталог данных. В связи с этим у многих трейдеров, которые раньше не сталкивались с последними версиями операционных систем Windows, возникли вопросы, на которые мы дадим ответы в данной статье.

Если у Вас есть пользовательские MQL4-программы, то по окончании обновления на новую версию терминала Вы увидите такое диалоговое окно. В нем дана краткая информация об изменениях в файловой структуре терминала. Все детали обновления Вы можете найти в Журнале терминала.


Автор: MetaQuotes
 

А почему сей корявый продукт (билд 625) переносит данные даже если МТ4 установлен не в Program Files ?!

И какого хрена на WinXP/2003 он кладет данные в c:\documents ...\user\application data\...\куча_hex-цифр ?


Лежал себе спокойно в c:\Tools\MT4, нет надо хрен знает куда перенести.

Безопасность, ага.


Об удобстве и уважении к клиентам можно не думать.

 

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

Там все объяснено детально.

 

А, нашёл. Сорри, не дочитал до портабл.

Коллеги, если Вы хотите видеть ваши файлы в том месте, где они были установлены до перехода на билд выше 600 или при новой установке лежали в папке установки МТ4, то

запускайте МТ4 с опцией /portable

(не рекомендуется это делать для Windows Vista/7/8 c включенной UAC)

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

Чтобы МТ4 можно было поставить в Program Files (где он будет защищен UAC и антивирями), а данные поместить в папку, отличную от папки данных пользователя.

Нужно для тестирования индикаторов и советников как они будут себя вести в разных ДЦ - чтобы в одной папке в соседних подпапках лежали данные для разных ДЦ (чтобы удобно было индикаторы и советники копировать между МТ разных ДЦ).

C:\MT4\Axxxxx\MQL4

C:\MT4\Gxxx\MQL4

C:\MT4\Mxxxx\MQL4

C:\MT4\Rxxxxxxxx\MQL4

 

пожелание к разработчикам: верните предыдущую версию, текущая версия - очень неудобна и непривычна: от запуска до написания кода в MetaEditore.

Я понимаю, что всё близится к убогому MQL5, но мне как программисту не профессионалу он чужд и неудобен во всём абсолютно.

Всё что мне надо - это простенький код, запуск не сложных скриптов и приятный интерфейс, а то что навязывается - другой синтаксис, какой то непонятный алгоритм вызова библиотек, мне противен, вот кому это надо - тот всегда найдёт своё на специализированном сайте;

а нам простым смертным верните привычный MQL4.

Я не зарабатываю громадные деньги в Вашем терминале, мне торговля - больше хобби, а написание советников и индикаторов - опять же развлечение и тренировка мозга, а тратить много времени на изучение языка от которого плюётся каждый 4 из 5 - нет желания.

Спасибо.

 

при переходе на версию MT4 build 625 возникла проблема со скриптом, нормально работающим в старых версиях.

Скрипт использует вызов внешней программы через WinExec. Внешнюю программу поместил в C:\Users\...\MQL4\Libraries\...exe

Путь вызова в скрипте тоже поменял. Автономно (ручками) программа (консольная) запускается и срабатывает штатно. Может существуют какие-то ограничения

на длину пути или может в новой версии по соображениям секьюрности запретили вызов внешних exe-программ? Подскажите, может у кого аналогичная проблема возникала?

заранее благодарен.

 
vellmoss:

при переходе на версию MT4 build 625 возникла проблема со скриптом, нормально работающим в старых версиях.

Скрипт использует вызов внешней программы через WinExec. Внешнюю программу поместил в C:\Users\...\MQL4\Libraries\...exe

Путь вызова в скрипте тоже поменял. Автономно (ручками) программа (консольная) запускается и срабатывает штатно. Может существуют какие-то ограничения

на длину пути или может в новой версии по соображениям секьюрности запретили вызов внешних exe-программ? Подскажите, может у кого аналогичная проблема возникала?

заранее благодарен.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms687393(v=vs.85).aspx

Это уже несколко раз тут обсуждалось!

Там по ссылке видите кодировку? Какая? У этой функции нет UNICODE-аналога.

Это устаревшая функция. Пора переходить на современную. Там же написано на какую надо заменить. Или придётся перекодировать строку.

 
Zhunko:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms687393(v=vs.85).aspx

Это уже несколко раз тут обсуждалось!

Там по ссылке вы видите кодировку? Какая? У этой функции нет UNICODE-аналога.

Это устаревшая функция. Пора переходить на современную. Там же написано на какую надо заменить. Или придётся перекодировать строку.

Спасибо. Про CreateProcess я здесь читал. Попробую оба варианта. С перекодировкой и через CreateProcess.

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