- Направление индексации в массивах и таймсериях
- Организация доступа к данным
- SeriesInfoInteger
- Bars
- BarsCalculated
- IndicatorCreate
- IndicatorParameters
- IndicatorRelease
- CopyBuffer
- CopyRates
- CopySeries
- CopyTime
- CopyOpen
- CopyHigh
- CopyLow
- CopyClose
- CopyTickVolume
- CopyRealVolume
- CopySpread
- CopyTicks
- CopyTicksRange
- iBars
- iBarShift
- iClose
- iHigh
- iHighest
- iLow
- iLowest
- iOpen
- iTime
- iTickVolume
- iRealVolume
- iVolume
- iSpread
CopyTicksRange
Функция получает в массив ticks_array тики в формате MqlTick в указанном диапазоне дат. При этом индексация ведётся от прошлого к настоящему, то есть тик с индексом 0 является самым старым в массиве. Для анализа тика необходимо проверять поле flags, которое сообщает о том, что именно изменилось.
int CopyTicksRange(
|
Параметры
symbol_name
[in] Символ.
ticks_array
[out] Cтатический или динамический массив MqlTick для приема тиков. Если в статический массив не вмещаются все тики из запрошенного интервала времени, то будет получено столько тиков, сколько помещается в массив. При этом функция сгенерирует ошибку ERR_HISTORY_SMALL_BUFFER (4407) .
flags
[in] Флаг, определяющий тип запрашиваемых тиков. COPY_TICKS_INFO – тики, вызванные изменениями Bid и/или Ask, COPY_TICKS_TRADE – тики с изменения Last и Volume, COPY_TICKS_ALL – все тики. При любом типе запроса в оставшиеся поля структуры MqlTick дописываются значения предыдущего тика.
from_msc
[in] Дата, начиная с которой запрашиваются тики. Указывается в миллисекундах с 01.01.1970. Если параметр from_msc не указан, то отдаются тики от самого начала истории. Отдаются тики со временем >= from_msc.
to_msc
[in] Дата, по которую запрашиваются тики. Указывается в миллисекундах с 01.01.1970. Отдаются тики со временем <= to_msc. Если параметр to_msc не указан, то отдаются все тики до конца истории.
Возвращаемое значение
Количество скопированных тиков либо -1 в случае ошибки. GetLastError() может возвращать следующие ошибки:
- ERR_HISTORY_TIMEOUT – время ожидание синхронизации тиков вышло, функция отдала всё что было.
- ERR_HISTORY_SMALL_BUFFER – статический буфер слишком маленький, отдано столько, сколько поместилось в массив.
- ERR_NOT_ENOUGH_MEMORY – не хватает памяти для получения истории из указаного диапазона в динамический массив тиков. Не удалось выделить нужный объем памяти под массив тиков.
Примечание
Функция CopyTicksRange() предназначена для запроса тиков из строго указанного диапазона, например, за конкретный день истории. В то время как CopyTicks() позволяет указать только начальную дату, например – получить все тики с начала месяца по текущий момент.
Смотри также
SymbolInfoTick, Структура для получения текущих цен, OnTick, CopyTicks