int shift=MathMin(500,Bars(_Symbol,PERIOD_CURRENT));
int bar[];
ArrayRsize(bar,shift);
В 4 можно было при объявлении массива сразу проинициализировать его значениями, например так
string strArrSYMBOL[9]={"EURUSD", "USDJPY","GBPUSD","USDCHF","AUDUSD","USDCAD","EURJPY","EURGBP","EURCHF"};
а в 5 с многомерными массивами не выходит, пример ниже выдает ошибку
int arrParHandl[9][10] { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 };
подскажите где и как это понять без учебника?
- www.mql5.com
В 4 при объявлении массива можно было проинициализировать , например так
string strArrSYMBOL[9]={"EURUSD", "USDJPY","GBPUSD","USDCHF","AUDUSD","USDCAD","EURJPY","EURGBP","EURCHF"};или так
int arrParHandl[9][10]= { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0, 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 };
но последний вариант с двумерным массивом в 5 выдает ошибку ?
Подскажите, как понять и где искать?
- www.mql5.com
Комментарии не выводятся
А теперь аж два раза, видимо глюк форума (((
В 4 можно было при объявлении массива сразу проинициализировать его значениями, например так
а в 5 с многомерными массивами не выходит, пример ниже выдает ошибку
подскажите где и как это понять без учебника?
Правильный вариант:
int arrParHandl[9][10]= { { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 }, { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 }, { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 }, { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 }, { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 }, { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 }, { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 }, { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 }, { 10 , 10 , 1 , 4 , 25 , 0 , 0 , 0 , 0 , 0 } };
Более N-мерные - аналогично.
так нельзя определять размер массива
надо через специальную функцию
Arrayresize
Не может быть!
Идём по ссылке инициализация переменных и смотрим примеры:
int a[4][4] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4 } };
Чем-то по сути отличается?
Или эта документация уже устарела?
Не может быть!
Идём по ссылке инициализация переменных и смотрим примеры:
Чем-то по сути отличается?
Или эта документация уже устарела?
думаю что ответ был адресован топикстартеру, а не вам. :)
Всем спасибо!
А ведь я только сегодня перечитывал справку. Вот на примеры не обратил внимание. Видать глаз замылился )
Все же отличается от того что было раньше, хотя и не понятно, чем предыдущая форма инициализации лучше теперешней? Наглядней что ли!?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пытаюсь сделать
ругается 'shift' - positive integer constant expected .
А как правильно объявить если надо определить размер массива в зависимости от переменной ?