Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Новое слово в библиотечном деле или удивительное рядом...
Создал я значит советника который использует библиотеку, проверил все работает. Сформировал архив в который включил эксперта, эту библиотеку и еще несколько файлов MQL5 и MQH. Отдал архив на тесты заказчику.
Стал разбираться что и как работает (верней не работает) и обнаружил для себя удивительный факт - Терминал видит в каталоге скомпилированную библиотеку (в виде *.ex5) но при этом в том упорно ее "мочит", что по сути как понимаете не очень есть хорошо...
После перебора возможных причин такого поведения терминала решил поместить в каталог с библиотекой оригинальный файл (в виде *.mq5). файл поместил, при этом даже не компилировал его. Попробовал добавить эксперта на график - о чудо, все заработало.
PSКстати, с самим экспертом такая же фигня происходит, упорно удаляется *.ex5 файл... :(
Очень нехороший симптом!
У меня вчера тоже так было. После атообновления терминала стал упорно искать файл с исходником, а без него скомпилированный удалять.
После нормальной переустановки с сайта "баг" пропал.
Сегодня опять попросил перезагрузки после автообновления. Видимо "баг" убрали. Но я решил обновляться только с сайта.
Зачем и почему терминалу файл с исходником???
По ходу пьесы у меня созрел ряд вопросов:
1. Почему эксперт не работает если библиотека представлена только в виде .ex5?
2. Почему терминал упорно удаляет этот файл из каталога?
3. Почему в журнале терминала нет внятного комментария по поводу всего вышеперечисленного?
4. Почему в документации не сказано о возможности подобного поведения?
и наконец пятый и заключительный вопрос - как с этим всем бороться и что я делаю не так (можеет терминалу не хватает одного EX5 файла и он ищет что-то, например заголовочник или саму библиотеку)?
PS
Кстати, с самим экспертом такая же фигня происходит, упорно удаляется *.ex5 файл... :(
Принудительная перекомпиляция советников связана с изменением версии компилятора. Новый компилятор генерирует несколько иной код, который несовместим с предыдущей версией.
Почему-то я не вижу Вашего запроса в сервис-деске
Принудительная перекомпиляция советников связана с изменением версии компилятора. Новый компилятор генерирует несколько иной код, который несовместим с предыдущей версией.
Ну тоды понятно, я то на 279 делал, и под новый релиз не рассчитывал таких изменений...
PS
На будущее - а можно будет не удалять файлы принудительно, если терминал обнаруживает исходные версии, в замен просто пусть тупо пишет в журнал о том что нужно обновить ex5?
А то может я и пойму почему эксперт не хочет работать, а вот заказчик может и не сообразить...
Сейчас активно обновляются версии EX5 файлов в новых билдах, поэтому терминал удаляет старые версии.
Как раз в 281 билде в очередной раз сменилась версия.
Через некоторое время процесс стабилизируется и мы перестанем менять версии скомпилированных файлов.На будущее - а можно будет не удалять файлы принудительно, если терминал обнаруживает исходные версии, в замен просто пусть тупо пишет в журнал о том что нужно обновить ex5?
А то может я и пойму почему эксперт не хочет работать, а вот заказчик может и не сообразить...
Да. это здравая мысль писать в лог обоснование удаления старых версий.
Желательно вообще ничего не удалять, без разрешения пользователя. По крайней мере если терминал не обнаружил исходный файл с таким же именем что и у 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