Вопросы перекомпиляции после переноса MQ4 файлов на другой терминал - страница 2

 
KimIV:
 Вряд-ли... Это всего-лишь видимое действо... причём однозначное. Компиляция по определению не может выполниться сейчас так, а через 5 секунд по-другому. Результат компиляции всегда один и тот же. В этом процессе нет нечёткой логики и неоднозначных факторов. Поэтому для одного и того же mq4 всегда будет ставится в соответствие один и тот же ex4. Это аксиома. Нет смысла подвергать её сомнению.
Суть то может одна и та же, вот только КАЖДЫЙ раз при компиляции одного и того же эксперта получим совсем другой ex4 - будут совпадать лишь размеры - видимо из-за применяемых алгоритмов шифрования содержимого ex4.  Но суть остаётся та же - пролучили байт-код (всегда один и тот же),  а потом зашифровали и получили ex4.
 
KimIV:
Player_2:
Если не обновить ex4, то обновление mq4 не приведет к перекомпиляции, и ex4 останется прежним несмотря на новый mq4. Поэтому то, что Вы обнаружили работу старого советника, - нормальное дело, так и должно быть.
Где-то Рош отвечал, что для перекомпиляции mq4 достаточно удалить файл mqlcache.dat. Я иду немного дальше и удаляю ещё и ex4. Копирую только mq4. После того, как я стал так делать, багов не было никаких. Вы верите мне? Если верите, попробуйте делать также.
Попробую и так тоже. Но мне более удобно копировать только ex4, чтобы никаких перекомпиляций не происходило вообще.
 

Помогите, похожий баг компиляции.

1. Устанавливаем терминал MT4, в папку TEST1. Обновляю версию до последнего билда 229.

2. Копирую папку с терминалом в папку TEST2.

3. В папке TEST2 Удаляю историю из history, импортирую минутки от другого дилера. Редактирую My_spead параметры символа.

4. В папке TEST2 пишу эксперта.

5. Оправил другу эксперт, он не работает. Проверил в TEST1, не работает видно проблема с котировками.

6. Компилирую (скопировав mq4) тот же эксперт с TEST2 в папке TEST1 (работает)

7. Сравниваю размеры ex4 одинаковые, а побайтное сравнение – есть различия!!!!!!!!!!!

mqlcache.dat – в папках experts разные, грохнул оба (в папке TEST1 и TEST2), все равно компиляция разная!!!

mqlcache.dat – создает запуск терминала (они разные опять)

компилирую, побайтно сравниваю, а они разные! Работать могут по-разному так как котировки в папках разные, но объясните глюк!


А теперь самое интересное, делаем декомпиляцию (гоним в mq4 код из ex4) - результат тот же mql4 - прикольно!


Ответ: в ex4 встроен crypt keу, поэтому каждая следующая компиляция разная внутри!
 
Renat:

Ошибок с перекопиляциям нет - все работает как задумано.
И то, что установленный на график советник после перекомпиляции оказывается с параметрами по умолчанию, тоже задумано?
 
PapaYozh:
И то, что установленный на график советник после перекомпиляции оказывается с параметрами по умолчанию, тоже задумано?

чтоб не наступать на эти граблища - не делайте set файлов, все парамтеры храните в исходнике. себе же дешевле будет.

 

Ситуация такая. Есть старый терминал на реальном счёте (обновлён, №402 от 11 мая 2011)

Запускаю в нём програмку, получаю картинку №1

Далее скачиваю новый терминал, демо, обновляю, скачиваю котировки, копирую туда эксперт (mq4), перезапускаю, и получаю картинку №2

Любые манипуляции с папками history и experts (и их содержимым, перекомпелирования и т.п.) результатов не приносят.

Все параметры прописаны внутри эксперта.

Свойства символа идентичны. Котировки идентичны.

Эксперты правильно скомпилированы и идентичны.

Оба терминала скачаны у одного ДЦ.

А результат разный!

Новый терминал, начинает рисовать рисунок №1, только в случае замены папки config (а именно файл server.ini) из старого в новый.

Тут сплошные непонятки - как настройки сервера сказываются на работе эксперта (свойства символа идентичны), и главное - что ждать, если запустить торговлю!

А потом и залогинился с демо терминала на реальный и ... получился рис1. Вопросы остались...

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