'ObjectSetDouble' - no one of the overloads can be applied to the function call
'ObjectSetInteger' - no one of the overloads can be applied to the function call
Похоже, догадался. В MT5 надо четко указывать все три ENUM_OBJECT_PROPERTY_STRING, ENUM_OBJECT_PROPERTY_INTEGER и ENUM_OBJECT_PROPERTY_DOUBLE. А в MT4 достаточно просто указать int, и все будет работать.
В данном случае даже и не знаю, является ли MQL5 лучшим решением, чем MQL4.
'ObjectSetDouble' - no one of the overloads can be applied to the function call
'ObjectSetInteger' - no one of the overloads can be applied to the function call
Все верно он ругнулся, в метод передаете в качестве входного параметра для ObjectSetDouble и ObjectSetInteger недопустимый параметр ENUM_OBJECT_PROPERTY_STRING id
Вообще не делайте вы общую библиотеку для двух языков, больше путаницы будет, сам одно время так делал, потом пришлось все переделывать.
Похоже, догадался. В MT5 надо четко указывать все три ENUM_OBJECT_PROPERTY_STRING, ENUM_OBJECT_PROPERTY_INTEGER и ENUM_OBJECT_PROPERTY_DOUBLE. А в MT4 достаточно просто указать int, и все будет работать.
boolObjectSetInteger(
long chart_id, // идентификатор графика string name, // имя int prop_id, // свойство long prop_value // значение
);
А должно быть
boolObjectSetInteger(
long chart_id, // идентификатор графика string name, // имя ENUM_OBJECT_PROPERTY_INTEGER prop_id, // свойство long prop_value // значение
);
Как в пятерке с IndicatorBuffers быть в случае, когда количество ВЫЧИСЛИТЕЛЬНЫХ буферов нельзя жестко задать через #property? В четверке с этим нет ограничений.
Сказал же я уже Вам. Читайте документацию внимательно, без шашки в руке.
Читал ОЧЕНЬ внимательно и до конца. Ваша же цитата оттуда
Идентификатор свойства объекта. Значение может быть одним из значений перечисления ENUM_OBJECT_PROPERTY_INTEGER.
А надо
Идентификатор свойства объекта. Значение ДОЛЖНО быть одним из значений перечисления ENUM_OBJECT_PROPERTY_INTEGER.
Требование явного привидения к этому типу подтверждает единственно компилируемый в пятерке вариант (сами проверьте). Без этого привидения компилятор ругается на отсутствие соответствующих перегрузок.
Чтобы не смущала условная компиляция, убрал ее
Пятерка не может скомпилировать, четверка - 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? В четверке с этим нет ограничений.
Например, в описании ObjectSetInteger сейчас
А должно быть
Читайте топики до конца
prop_id
[in] Идентификатор свойства объекта. Значение может быть одним из значений перечисления ENUM_OBJECT_PROPERTY_INTEGER.
Читайте топики до конца
Сказал же я уже Вам. Читайте документацию внимательно, без шашки в руке.Читал ОЧЕНЬ внимательно и до конца. Ваша же цитата оттуда
Идентификатор свойства объекта. Значение может быть одним из значений перечисления ENUM_OBJECT_PROPERTY_INTEGER.
А надо
Идентификатор свойства объекта. Значение ДОЛЖНО быть одним из значений перечисления ENUM_OBJECT_PROPERTY_INTEGER.
Требование явного привидения к этому типу подтверждает единственно компилируемый в пятерке вариант (сами проверьте). Без этого привидения компилятор ругается на отсутствие соответствующих перегрузок.