Дилинговый центр Forex Euroclub • Программа для Forex | Форекс - TradingDesk Pro 5

Массивы Содержание  Предыдущая  Следующая


Массивы

 

Массив – это переменная особого типа, в которой может одновременно храниться несколько значений. Можно представить, что массив – это таблица с определенным количеством ячеек (которые в массиве называются элементами). Размерность массива – это количество столбцов в такой таблице. Например, это массив с размерностью, равной 1:

 

NewImage140

 

А это – массив с размерностью, равной 4:

 

NewImage141

 

Всего массив может содержать не более 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.