Массивы
Массив – это переменная особого типа, в которой может одновременно храниться несколько значений. Можно представить, что массив – это таблица с определенным количеством ячеек (которые в массиве называются элементами). Размерность массива – это количество столбцов в такой таблице. Например, это массив с размерностью, равной 1:
А это – массив с размерностью, равной 4:
Всего массив может содержать не более 16000 элементов. Массивы могут использоваться для разных целей, но в основном их используют для хранения рыночных данных. Например, в многомерном массиве каждая строка может означать один бар, а элементы этой строки – различные данные об этом баре, такие как дата, время, цены, объем торговли и пр.
Массивы могут быть различных типов: числовые, текстовые, логические – в зависимости от типа данных, которые они содержат. Но массив может содержать данные только одного типа.
Для создания массива его сперва необходимо объявить. Синтаксис объявления массива:
Array: MyArray [M] (N);
Здесь MyArray – это имя массива, задаваемое пользователем, которое не может быть длиннее 20 символов. M – число элементов в массиве. N – начальное значение для всех элементов массива. Каждый элемент массива имеет цифровой индекс (от 0 до М в случае одномерного массива), при этом в программе Trading Desk VPro возникает ошибка при попытке обратиться к элементу массива с индексом меньше 0 или больше М. Как правило, чаще используются одномерные массивы. Пример:
Arrays: MyArray[5] (0), MyTextArray[6] (""), MyBArray[3] (False);
В этом примере объявляются три массива. Первый массив MyArray содержит 6 элементов, каждому из которых присваивается числовое значение 0. Второй массив MyTextArray содержит 7 элементов, каждому из которых присваивается значений пустой строки. Третий массив MyBArray содержит 4 элемента, каждому из которых присваивается логическое значение False.
Для того чтобы присвоить значение элементу массива, используйте следующий синтаксис:
MyArray [M] = Expression;
Здесь М – номер элемента массива, а Expression – это любое выражение на языке TL, которое совпадает с типом массива. Например:
Arrays: MyArray[5](0), MyTextArray[6](""), MyBArray[3](False);
MyArray [4] = 1.1547; MyTextArray [5] = "Friday"; MyBArray [0] = True;
Элементам массива удобно присваивать значения при помощи цикла. Например:
Arrays: MyArray[8, 2](0); Variable: Value(0);
For Value = 0 To 8 Begin
MyArray[Value, 0] = Open[Value]; MyArray[Value, 1] = Close[Value]; MyArray[Value, 2] = Volume[Value];
End;
Сначала объявляем двумерный массив, который можно представить как таблицу с 9 строками и 3 столбцами. В цикле переменная Value используется в качестве контрольной переменной, которая принимает значения от 0 до 8 согласно номерам строк. На первом шаге цикла элементу MyArray[0, 0] присваивается значение Open[0], элементу MyArray[0, 1] – значение Close[0], элементу MyArray[0, 2] – значение Volume[0]. На втором шаге цикла соответствующие значения присваиваются элементам MyArray[1, 0], MyArray[1, 1], MyArray[1, 2]; а на последнем – элементам MyArray[8, 0], MyArray[8, 1], MyArray[8, 2].
Для того чтобы в любом месте кода получить значение нужного элемента массива, используйте, например, синтаксис вида:
Arrays: MyArray[5](0); Variable: Var1(0);
Var1 = MyArray[1]; Plot1(MyArray[4]);
В первом случае происходит присваивание переменной Var1 значения 3-го элемента массива MyArray. Во втором случае происходит построение графика 7-го элемента массива MyArray. |