Справочник MQL4 Операции с массивами ArrayCopyRates
ArrayCopyRatesКопирует в массив данные баров указанного графика и возвращает количество скопированных баров. Существует 2 варианта вызова функции:
Копирует в двумерный массив вида double RateInfo[][6] данные баров указанного графика и возвращает количество скопированных баров.
Параметры rates_array[] [out] Ссылка на массив структур MqlRates. dest_array[][] [out] Ссылка на двумерный массив типа double. symbol=NULL [in] Наименование инструмента (символ валютной пары). timeframe=0 [in] Период. Может быть любым значением из перечисления ENUM_TIMEFRAMES. Возвращаемое значение Возвращает количество скопированных баров, либо -1 в случае неудачи. Если копируются данные "чужого" инструмента и/или таймфрейма, то возможна ситуация отсутствия требуемых данных. В этом случае в переменную last_error будет помещена ошибка ERR_HISTORY_WILL_UPDATED (4066 - запрошенные исторические данные в состоянии обновления) и необходимо через некоторое время повторить попытку копирования (см. пример в ArrayCopySeries()). Примечание Обычно массив используется для передачи данных в DLL функцию.При использовании первой формы вызова происходит виртуальное копирование таймсерии в массив структур MqlRates. Это означает, что если данные таймсерии обновились, то повторное копирование не требуется - массив rates_array[] по-прежнему будет ссылаться на актуальную версию таймсерии и данные будут корректными всегда. При использовании второй формы вызова происходит реальное копирование данных в массив dest_array[][], сам массив автоматически перераспределяется, чтобы соответствовать размеру таймсерии (даже если массив был объявлен статическим). Первое измерение массива содержит количество баров. Второе измерение имеет 6 элементов со значениями: 0 - время (time), Пример:
|