Ошибки, баги, вопросы - страница 5

 
Interesting:

Новое слово в библиотечном деле или удивительное рядом...


Создал я значит советника который использует библиотеку, проверил все работает. Сформировал архив в который включил эксперта, эту библиотеку и еще несколько файлов MQL5 и MQH. Отдал архив на тесты заказчику.


Хотя странно, заказчик говорит что у него все  запустилось. Магнитные бури может?
 
Interesting:

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

После перебора возможных причин такого поведения терминала решил поместить в каталог с библиотекой оригинальный файл (в виде *.mq5). файл поместил, при этом даже не компилировал его. Попробовал добавить эксперта на график - о чудо, все заработало.

PS

Кстати, с самим экспертом такая же фигня происходит, упорно удаляется *.ex5 файл... :(


Очень нехороший симптом!

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

После нормальной переустановки с сайта "баг" пропал.

Сегодня опять попросил перезагрузки после автообновления. Видимо "баг" убрали. Но я решил обновляться только с сайта.

Зачем и почему терминалу файл с исходником???

 

По ходу пьесы у меня созрел ряд вопросов:

1. Почему эксперт не работает если библиотека представлена только в виде .ex5?

2. Почему терминал упорно удаляет этот файл из каталога?

3. Почему в журнале терминала нет внятного комментария по поводу всего вышеперечисленного?

4. Почему в документации не сказано о возможности подобного поведения?


и наконец пятый и заключительный вопрос  - как с этим всем бороться и что я делаю не так (можеет терминалу не хватает одного EX5 файла и он ищет что-то, например заголовочник или саму библиотеку)?


PS

Кстати, с самим экспертом такая же фигня происходит, упорно удаляется *.ex5 файл... :(



Почему-то я не вижу Вашего запроса в сервис-деске
 

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

 
stringo:
Почему-то я не вижу Вашего запроса в сервис-деске
Ну потому что его там и не было... :)
 
stringo:

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

Ну тоды понятно, я то на 279 делал, и под новый релиз не рассчитывал таких изменений...


PS

На будущее - а можно будет не удалять файлы принудительно, если терминал обнаруживает исходные версии, в замен просто пусть тупо пишет в журнал о том что нужно обновить ex5?

А то может я и пойму почему эксперт не хочет работать, а вот заказчик может и не сообразить...

Документация по MQL5: Файловые операции / FileDelete
Документация по MQL5: Файловые операции / FileDelete
  • www.mql5.com
Файловые операции / FileDelete - Документация по MQL5
 

Сейчас активно обновляются версии EX5 файлов в новых билдах, поэтому терминал удаляет старые версии.

Как раз в 281 билде в очередной раз сменилась версия.

Через некоторое время процесс стабилизируется и мы перестанем менять версии скомпилированных файлов.
 
Interesting:

На будущее - а можно будет не удалять файлы принудительно, если терминал обнаруживает исходные версии, в замен просто пусть тупо пишет в журнал о том что нужно обновить ex5?

А то может я и пойму почему эксперт не хочет работать, а вот заказчик может и не сообразить...

Да. это здравая мысль писать в лог обоснование удаления старых версий.
 
Renat:
Да. это здравая мысль писать в лог обоснование удаления старых версий.

Желательно вообще ничего не удалять, без разрешения пользователя. По крайней мере если терминал не обнаружил исходный файл с таким же именем  что и у ex5.


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


PS

Считаю такой подход правильным при работе с любыми файлами не входящими в базовую поставку. А то кто ег знает сможет или нет юзер если что восстановить эти файлы...

 

в справке написано

 int day_of_year;    // порядковый номер в году (1 февраля - это 32-ой день в году)
 

 У меня почему то все время выходит, что он 31 ((

скрипт прилагаю

в файле  

2010.02.01 00:00:00    143.832    143.839    143.758    143.771    186    2010    2    1    0    0    1    31

Файлы:
666.mq5  3 kb
Причина обращения: