В справочнике MQL5 ошибка или как это следует понимать? - страница 5

 
Oleg Remizov:

Ветка о расхождениях в справке, а не о том, хватает значений long для магиков или не хватает. Для уникальности магиков мне бы и uchar хватило. Я не собираюсь запускать одновременно 256 советников или даже больше.

Ах вот оно что... Имхо, мнимые расхождения. OrderGetInteger(), PositionGetInteger() возвращают по умолчанию тип long, который тут выступает как старшая матрёшка x64 - в неё всё помещается. Почему long, а не ulong. Наверное потому, что первый тип более универсальный. Вообще, по сути функции OrderGetInteger(), PositionGetInteger() - это шаблонные функции целочисленного типа. Можно было сделать примерно так:

template<typename T>
T  OrderGetInteger(
   ENUM_ORDER_PROPERTY_INTEGER  property_id        // идентификатор свойства
   );

Но чтобы функция возвращала только целочисленный тип, указали тип возврата как long. Проще говоря, long здесь отдувается за все целочисленные типы.

Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long
Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long
  • www.mql5.com
Типы char, short, int и long - Целые типы - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Denis Kirichenko:
Имхо, ветка ни о чём. Считаю, что, в частности, даже диапазона интов хватит для эффективной работы с тикетами, а с магиками и подавно... 

Согласен. Читаю и офигеваю. У нормального программиста с базовыми знаниями вопрос вообще не возникнет.

Тем более если есть опыт работы с более менее низкоуровневыми приложениями, где часто параметры, которые битовые флаги в себе хранят одновременно со значениями меньшей битности.