Нужно из-за:
1. Попрбуйте скомпилировать проект с неиспользуемыми функциями проекта. Будет дофига предупреждений по количеству неиспользуемых функций.
2. Количество массивов на один компилированный файл не более 512. С помощью библиотек можно увеличить это количество.
3. С помощью библиотек можно реализовать одну из парадигм ООП - инкапсуляция.
4. Удобно же, когда на все случаи жизни есть библиотеки, которые протестированы и никогда не подведут. Надо только подключить её заголовочный файл, где уже всё из неё импортировано.
5. У компилятора есть ограничение на количество вложенных блоков. Без функций не обойтись. Правда, не обязательно функция должна быть библиотечной.
Нужно из-за:
1. Попрбуйте скомпилировать проект с неиспользуемыми функциями проекта. Будет дофига предупреждений по количеству неиспользуемых функций.
Тут логично, НО это же не даст ошибку в работе эксперта, даже если проигнорировать данные предупреждения :) Значит, как я понимаю, это дело визуального комфорта, что мол всё идёт как нужно?
Нужно из-за:
2. Количество массивов на один компилированный файл не более 512. С помощью библиотек можно увеличить это количество.
Это мне не грозит, по-моему количество отдельных массивов 512 это уже слишком.. Даже не представляю проект, где пол тысячи массивов!
Нужно из-за:
4. Удобно же, когда на все случаи жизни есть библиотеки, которые протестированы и никогда не подведут. Надо только подключить её заголовочный файл, где уже всё из неё импортировано.
Так они и в не скомпилированном включении будут присуствовать.. Разве что в скомпилированном не будет никаких предупреждении при компиляции проекта, как Вы выше заметили, что мол та и та библиотека не используется в проекте.
Нужно из-за:
5. У компилятора есть ограничение на количество вложенных блоков. Без функций не обойтись. Правда, не обязательно функция должна быть библиотечной.
2. Это мне не грозит, по-моему количество отдельных массивов 512 это уже слишком.. Даже не представляю проект, где пол тысячи массивов!
4. Так они и в не скомпилированном включении будут присуствовать.. Разве что в скомпилированном не будет никаких предупреждении при компиляции проекта, как Вы выше заметили, что мол та и та библиотека не используется в проекте.
5. Что Вы имеете ввиду под "вложенными блоками" ? Если не библиотечной, то какой?2. Мне тоже так казалось :-))
4. Можете чего-нибудь случайно испортить. Например, в глобальных переменных что-то исправить, как Вам кажется правильным. Потом замучатесь искать причину. Библиотеу сложенее испортить.
5. Вложенные блоки: {{{{ }}}}. Небиблиотечная эта та, что у вас в инклюде проекта. Библиотечная, что в EX4-файле библиотеки.
================
Стараюсь не использовать функции в MQL4. Тормоз это. Только, если есть необходимость. Например, не компилируется от сложности кода. Выше про количество блоков написал.
Ещё можно, когда вызывается однократно. В циклах нельзя использовать. Сильно тормознутый код будет.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Согласно справке, включение файлов представляет собой полную замени строки #include <имя_файла> содержимым данного файла, который нужно включить. Тут всё понятно. Это удобно, как-раз для того, чтоб некоторые функции выносить во внешние файлы, дабы не разростался основной код и проще было с ним работать. Т.е. некоторые функции определённого действия группировать в группы типа: работа со строками, работа с объектами, манименеджмент... и тд.
А вот с импортом функций я не понял. Как оно работает? Если уж импорт осуществляется из скомпилированных файлов, то исходный код не вставится как в предыдущем варианте с инклюдом. тогда зачем оно нужно, что нам это даёт? Поясните, пожалуйста, очень интересно знать.