Ошибки, баги, вопросы - страница 2347
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А вот для разных библиотек у меня тоже не получилось это реализовать. Чтобы одной строкой подключать несколько библиотек с такими макро-подстановками, и чтобы при вызове OnTick вызывался OnTick всех библиотек.
Что-то сильно не догоняю даже примера, что хочется получить. Можете показать?
ЗЫ Что касается менеджера, то см. EventBase.mqh здесь. Тупо сделал всех наследниками и при появлении нового объекта его указатель попадал в общий список, который вызывался циклом for в каждом On-событии.
Что-то сильно не догоняю даже примера, что хочется получить. Можете показать?
MyClass_1.mqh:
MyClass_2.mqh:
Expert.mq5:
Чтобы в результате выполнения получить все 3 принта: "Init 1", "Init 2" и "Init EA"
Всем, привет.
Вызываю из эксперта функцию IndicatorParameters, но получаю ошибку 4014. Почему это может быть - подскажите? Build 1960.
Чтобы одной строкой подключать несколько библиотек с такими макро-подстановками, и чтобы при вызове OnTick вызывался OnTick всех библиотек.
Сделать макрос-обертку вокруг импорта которая формирует класс по имени либы (class##libname) и использует контекст для вызова внутри обертки (libname::oninit)
ну а класс подсовывается вышеупомянутому менеджеру.
только для каждой либы отдельная строка.
Сделать макрос-обертку вокруг импорта которая формирует класс по имени либы (class##libname)
Это для меня сложновато, пошел гуглить.
Всем, привет.
Вызываю из эксперта функцию IndicatorParameters, но получаю ошибку 4014. Почему это может быть - подскажите? Build 1960.
ну если у Вас 3 инклудника, тогда мой код который выше опубликовал должен работать, но нужно для каждого класса прописать макроподстановки, вот мой пример, вроде работает, но еще проверять буду:
и в коде эксперта просто подключаю одним #include <fileMyclass.mqh>
в Вашем примере все три файла нужно закрыть (в самом низу кода) моими макроподстановками (и подменить имена m_class2 , m_class3...)
Для однотипного класса решение уже подсказали: унаследуйте его от CObject, и макроподстановку добавьте в класс-менеджер, который будет хранить все добавленные экземпляры в CArrayObj, перебирать его и вызывать нужную OnXXX-функцию.
А вот для разных библиотек у меня тоже не получилось это реализовать. Чтобы одной строкой подключать несколько библиотек с такими макро-подстановками, и чтобы при вызове OnTick вызывался OnTick всех библиотек.
пример нужен, не умею и не работал "макроподстановкой в класс менеджере"
Чтобы в результате выполнения получить все 3 принта: "Init 1", "Init 2" и "Init EA"
Делать менеджер. Пример исходника выше показал. Макросы все же для другого.
Это для меня сложновато, пошел гуглить.
вобщем красиво не получится, но сократить запись вроде как можно примерно до такой:
Вот прямой вызов и пример реализации без менеджера.
если у класса ImportFrom сделать регистрацию у менеджера и нестатические функции, все можно вызывать автоматом для всех импортированных либок
Вот прямой вызов и пример реализации без менеджера.
если у класса ImportFrom сделать регистрацию у менеджера и нестатические функции, все можно вызывать автоматом для всех импортированных либок
Мысль понял, спасибо.
Не 100% прозрачно, но лучше, чем есть на данный момент.