Ошибки, баги, вопросы - страница 1542
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Почему этот класс компилируется под MT4, но не компилируется под MT5?
Если в этом классе удалить определение оператора, то под MT5 начинает компилироваться. Похоже, это баг компилятора пятерки.
Попробуйте заменить
__MQL5__
на
__MQL5BUILD__
Попробуйте заменить
__MQL5__
на
__MQL5BUILD__
Чтобы не смущала условная компиляция, убрал ее
Пятерка не может скомпилировать, четверка - OK.
Чтобы не смущала условная компиляция, убрал ее
Пятерка не может скомпилировать, четверка - OK.
а лог ошибок какой выдает?
Похоже, догадался. В MT5 надо четко указывать все три ENUM_OBJECT_PROPERTY_STRING, ENUM_OBJECT_PROPERTY_INTEGER и ENUM_OBJECT_PROPERTY_DOUBLE. А в MT4 достаточно просто указать int, и все будет работать.
В данном случае даже и не знаю, является ли MQL5 лучшим решением, чем MQL4.
Все верно он ругнулся, в метод передаете в качестве входного параметра для ObjectSetDouble и ObjectSetInteger недопустимый параметр ENUM_OBJECT_PROPERTY_STRING id
Вообще не делайте вы общую библиотеку для двух языков, больше путаницы будет, сам одно время так делал, потом пришлось все переделывать.
Похоже, догадался. В MT5 надо четко указывать все три ENUM_OBJECT_PROPERTY_STRING, ENUM_OBJECT_PROPERTY_INTEGER и ENUM_OBJECT_PROPERTY_DOUBLE. А в MT4 достаточно просто указать int, и все будет работать.
Точно!
Теперь компилится в обеих платформах. В справке пятерки явно ошибка.
Точно!
Теперь компилится в обеих платформах. В справке пятерки явно ошибка.
Какая ошибка?
Например, в описании ObjectSetInteger сейчас
А должно быть
Как в пятерке с IndicatorBuffers быть в случае, когда количество ВЫЧИСЛИТЕЛЬНЫХ буферов нельзя жестко задать через #property? В четверке с этим нет ограничений.