![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Тут фича в понятии инстанс.
Каждый модуль создает для своих глобальный переменных (объявленных выше уровня всех функции) отдельные инстансы (экземпляры) для каждого из внешних модулей. При том бред в том, что если я из скрипта/эксперта/индикатора (М0) вызову функцию из модуля М1, а та функция вызовет функцию из модуля M2, которая в модуле M2 изменит значение глобальной для этого модуля переменной - это будет отдельный инстанс, исключительно для модуля M1 (тот кто непосредственно обращается к модулю). Т.е. если я сразу же вызову из модуля М0 читающую функцию из M2 (т.е. уже без посреднечества M1), то я получу иное значение, нежели я туда положил используя в качестве посредника функцию из M1.
Получается, что создается два разных инстанса одной и той же переменной - отдельно для M1 и отдельно для M2. Это ОЧЕНЬ усложняет жизнь. Т.е. я не могу эффективно (без неожиданностей) использовать модули, если сразу не определю точную картину вызовов в которой этот модуль будет использоваться. А это уже противоречит самой идеи модуля-библиотеки, которая должна без головной боли подключаться к любому нужному модулю.
Print вернет 1. Т.к. 2 хоть и позже был поставлен, но через модуль M1.
В купе с отсутствием типа "структура", невозможностью передавать параметры по ссылке в другие модули и невозможностью возвращать массивы - это очень большая головная боль.
Я вижу пока только один выход (если не выносить логику в dll) - передавать данные через файлы. В моем случае нужно массивы данных передавать - получается в виде строки с разделителем.
А вообще я сгустил, краски :))
Можно юзать бинарные файлы, как хранилище глобальных переменных. Особенно для массивов удобно.