Раньше можно было в тех поддержку обратиться с вопросом, когда на форуме не помогли - страница 4

 

Хочу, что бы исходный код был один и компилился для MT4 и MT5

Компилирую в метаедиторе 5-м для МТ5

ObjectsTotal(0)
ObjectsTotal(NULL)

Все работает, а для МТ4 нет ('ObjectsTotal' - ambiguous call to overloaded function with the same parameters ...)

Работает только так

ObjectsTotal() // Но так не работает в MQL5
// или когда задан 2-й параметр
ObjectsTotal(0, -1)

Не понятно почему...


Описание ObjectsTotal MQL4

https://docs.mql4.com/ru/objects/objectstotal


Описание ObjectsTotal MQL5

https://www.mql5.com/ru/docs/objects/objectstotal

ObjectsTotal - Графические объекты - Справочник MQL4
ObjectsTotal - Графические объекты - Справочник MQL4
  • docs.mql4.com
[in]  Необязательный параметр. Тип объекта для подсчета количества объектов данного типа. Это может быть любое из значений перечисления ENUM_OBJECT или EMPTY (-1) для подсчета всех объектов. При использовании функции на собственном графике осуществляется прямой доступ к графику, в то время как для получения свойств объекта с...
 
pivalexander:

Хочу, что бы исходный код был один и компилился для MT4 и MT5

Компилирую в метаедиторе 5-м для МТ5

Все работает, а для МТ4 нет ('ObjectsTotal' - ambiguous call to overloaded function with the same parameters ...)

Работает только так

Не понятно почему...


Описание ObjectsTotal MQL4

https://docs.mql4.com/ru/objects/objectstotal


Описание ObjectsTotal MQL5

https://www.mql5.com/ru/docs/objects/objectstotal

А справку почитать, а не просто привести нам на неё ссылку?

 
Vitaly Muzichenko:

А справку почитать, а не просто привести нам на неё ссылку?

Блин, точно! спасибо, прочитать забыл.

Почитал, работает так в МТ4 работает 

ObjectsTotal((long)0)
 
pivalexander:

Блин, точно! спасибо, прочитать забыл.

Почитал, работает так в МТ4 работает 

Что это за *****, вы смотрели документацию?

Сколько нужно входных параметров?

int  ObjectsTotal( 
   long  chart_id,           // идентификатор графика 
   int   sub_window=-1,      // индекс окна 
   int   type=-1             // тип объекта      
   );

Параметры

chart_id

[in]  Идентификатор графика. 0 означает текущий график.

nwin=-1

[in]  Номер подокна графика. 0 означает главное окно графика, -1 означает все подокна графика, включая главное окно.

type=-1

[in]  Тип объекта. Значение может быть одним из значений перечисления ENUM_OBJECT. -1 означает все типы.

 
Vitaly Muzichenko:

Что это за *****, вы смотрели документацию?

Не понял! я то смотрел

А может вы только смотрели, а сами не пробовали компилировать?

Возвращает общее количество объектов указанного типа на графике:

int  ObjectsTotal(
   int    type=EMPTY        // тип объекта     
   );

вот из-за чего не работало, в MQL4

Мне надо что бы с одинаковыми параметрами работало и в МТ5 и в МТ4


Сколько нужно входных параметров?

Адын!

 
pivalexander:

Не понял! я то смотрел

А может вы только смотрели, а сами не пробовали компилировать?

вот из-за чего не работало, в MQL4

Мне надо что бы с одинаковыми параметрами работало и в МТ5 и в МТ4


Адын!

Можете упираться дальше, это у вас проблема, но параметров нужно "3"

 
Vitaly Muzichenko:

Можете упираться дальше, это у вас проблема, но параметров нужно "3"

Зачем три? Разве так не будет компилироваться и в mql4 и в mql5

ObjectsTotal(ChartID())

У меня компилируется без проблем...

 
Alexey Viktorov:

Зачем три? Разве так не будет компилироваться и в mql4 и в mql5

У меня компилируется без проблем...

Не проверял сейчас, но ранее только так, иначе ошибка в mql5

ObjectsTotal(0, -1, -1)

P.S. Да и в справочнике нет варианта с одним входным параметром, только в mql4 

 
Vitaly Muzichenko:

Не проверял сейчас, но ранее только так, иначе ошибка в mql5

Два последних параметра функции имеют умолчательные значения - их можно не вводить.
 
Artyom Trishkin:
Два последних параметра функции имеют умолчательные значения - их можно не вводить.

Сейчас нет возможности проверить, но как уже говорил, то ранее было только 3 параметра, иначе ошибка лезла.

P.S. Такая-же ситуация была и с ObjectName(), там для кроссплатформенности нужно вводить параметры 
Причина обращения: