Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Сделал скриншот в MetaTrader? Поделись им с друзьями!
Андрей
492
Андрей 2009.11.30 10:17 

Пытаюсь сделать

int shift=MathMin(500,Bars(_Symbol,PERIOD_CURRENT));
int bar[shift];

ругается 'shift' - positive integer constant expected .

А как правильно объявить если надо определить размер массива в зависимости от переменной ?
Ilyas
1200
Ilyas 2009.11.30 10:39  
int shift=MathMin(500,Bars(_Symbol,PERIOD_CURRENT));
int bar[];
ArrayRsize(bar,
shift);
Николай
2196
Николай 2010.08.23 00:26  

В 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
};

подскажите где и как это понять без учебника? 

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
Николай
2196
Николай 2010.08.23 00:32  

В 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 выдает ошибку ?

Подскажите, как понять и где искать? 

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
Николай
2196
Николай 2010.08.23 00:40  

Комментарии не выводятся

Николай
2196
Николай 2010.08.23 00:40  

А теперь аж два раза, видимо глюк форума (((

Простак
315
Простак 2010.08.23 01:42  
SHOOTER777:

В 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-мерные - аналогично.

Инициализация переменных

Vasily
1262
Vasily 2010.08.23 01:48  

так нельзя определять размер массива

надо через специальную функцию

Arrayresize 

Простак
315
Простак 2010.08.23 02:18  
CoreWinTT:

так нельзя определять размер массива

надо через специальную функцию

Arrayresize 

Не может быть!

Идём по ссылке инициализация переменных и смотрим примеры:

int    a[4][4] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4 } };

Чем-то по сути отличается?

Или эта документация уже устарела?

o_O
Модератор
23481
o_O 2010.08.23 03:02  
simpleton:

Не может быть!

Идём по ссылке инициализация переменных и смотрим примеры:

Чем-то по сути отличается?

Или эта документация уже устарела?

думаю что ответ был адресован топикстартеру, а не вам. :)

Николай
2196
Николай 2010.08.23 03:41  

Всем спасибо!

А ведь я  только сегодня  перечитывал справку. Вот на примеры не обратил внимание. Видать глаз замылился )

Все же отличается от того что было раньше, хотя и не понятно, чем предыдущая форма инициализации лучше теперешней? Наглядней что ли!?

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий