Тогда ручками -- Init(true) и Init(false)
Это ничего не даст. Ведь сначала запустится init(), без всяких параметров. А уже потом вызываемая пользователем функция Init(...).
WindowExpertName() действительно не подходит в общем случае. Но можно в вызывающем коде явно указывать путь (относительный) к импортируемому файлу: "..\filename.ex4", либо "..\indicators\filename.ex4", либо "..\scripts\filename.ex4", смотря в какой папке этот файл (изначально мы находимся в папке libraries). В этом случае WindowExpertName() также возвращает этот путь к файлу. И тогда можно без проблем проверить, что файл импортирован, по наличию символов "." или "\". Это конечно не универсальное решение, т.к. файл может быть вызван без указания пути, но для собственного пользования сгодится.
Если у кого есть более надёжное решение этой задачи, то предлагайте.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
При первом вызове внешней функции из файла .ex4 естественно первым делом запускается init() этого файла. Можно ли как-то в этом ините определить, что он запущен не родным советником, а вызван извне?