SymbolInfoDouble и передача второго аргумента в переменной - страница 2

 
Risk:

Да что здесь криминального ? что может быть проще функции double F(string, int) ?

А в существующем виде эту функцию в цикле по переборе параметров ENUM_SYMBOL_INFO_DOUBLE вообще теперь вызвать невозможно.

Как мне вытащить ASK и BID. У меня такая конструкция

int X[2] = {SYMBOL_ASK, SYMBOL_BID};

for(int i =0 ; i < 2 ; i++) double y =   SymbolInfoDouble(Symbol(), X[i]); 

Вот так

ENUM_SYMBOL_INFO_DOUBLE X[2] = {SYMBOL_ASK, SYMBOL_BID};
for(int i =0 ; i < 2 ; i++) double y =   SymbolInfoDouble(Symbol(), X[i]); 
 
Risk:
Аргумент на уровне детского сада.
во во. я о том же.
 
Rosh:

Вот так

Это бы в помоще отразить
 
Contender:
Это бы в помоще отразить

А это и отражено - https://www.mql5.com/ru/docs/basis/variables#array_define:

Массив - это индексированная совокупность однотипных данных:

int    a[50];       // Одномерный массив из 50 целых чисел.
double m[7][50];    // Двухмерный массив из семи массивов,
                    // каждый из которых состоит из 50 чисел.
MyTime t[100];      // массив содержащий элементы типа MyTime
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Rosh:

А это и отражено - https://www.mql5.com/ru/docs/basis/variables#array_define:

Нет, я не массивы имел ввиду, а то, что ENUM_SYMBOL_INFO_DOUBLE является типом.

Сейчас всё нормально (https://www.mql5.com/ru/docs/marketinformation/symbolinfodouble), спасибо, но было int. 

Вот тут еще осталось упоминание про int: https://www.mql5.com/ru/docs/constants 

Документация по MQL5: Получение рыночной информации / SymbolInfoDouble
Документация по MQL5: Получение рыночной информации / SymbolInfoDouble
  • www.mql5.com
Получение рыночной информации / SymbolInfoDouble - Документация по MQL5
 
Contender: Нет, я не массивы имел ввиду, а то, что ENUM_SYMBOL_INFO_DOUBLE является типом.

Основные типы данных:

Данные перечислимого типа enum относятся к некоторому ограниченному множеству данных.

 
Yedelkin:

Основные типы данных:

Перечисления не относятся к основным типам данных.
 
stringo: Перечисления не относятся к основным типам данных.

1) Перечисления относятся к типам данных или как? Суть вопроса была в том, что надо бы в Справочнике отразить "что ENUM_SYMBOL_INFO_DOUBLE является типом". Я показал, что информация о том, что перечисления являются одним из типов данных, в Справочнике имеется. Что не так?

2) Очередная ошибка в Справочнике? Если верить Вашим словам и моей ссылке.

 
Yedelkin:

1) Перечисления относятся к типам данных? Суть вопроса была

2) Очередная ошибка в Справочнике? 

На самом деле, перечисления - некий пограничный тип. Это - не ошибка в справочнике. Тут нужен несколько иной взгляд. Попытаюсь объяснить

Перечисление - это чисто целочисленный тип. Перечисления введены для удобства мнемонического характера. Но для того, чтобы программист не злоупотреблял мнемоникой (например, в четвёрке была проблема со смешением значений TYPE_CLOSE и PRICE_CLOSE) была введена проверка на тип перечисления., элемент которго используется в качестве параметра функции.

Здесь возникает некий дуализм - Вы спокойно можете использовать целочисленную константу вместо мнемонического имени. Но если Вы испоьзуете мнемоническое имя члена перечисления (что более чем логично), то компилятор обязательно включит соответствующую проверку

 
stringo: На самом деле, перечисления - некий пограничный тип. Это - не ошибка в справочнике. Тут нужен несколько иной взгляд. Попытаюсь объяснить

Я Вас понял: замечаний непосредственно к сути моего ответа не имееется. Вы всего лишь прокомментировали содержание Справочника, которое я воспроизвел, на предмет правильности классификации имеющихся типов данных.

Спасибо за пояснения по дополнительно возникшей теме :) Тип "перечисление" - как подмножество целочисленного типа. Но в Справочнике и так перечисления находятся в разделе "Целые типы", наряду с bool, color etc.