ArrayCopyRates() - страница 3

 
stringo:


Если запрашиваемый символ присутствует в окне рынка, то никакой ошибки при повторном запросе ArrayCopyRates не будет.

А проверять, что же получил на самом деле в любом случае надо. Сначала проверить наличие ошибки 4066, а потом в цикле с некоторой задержкой проверить время нулевого бара.

Вы не поверите, stringo, но всё это сделано:) : и символ присутствует и время баров проверял (и не только нулевого) и с HC сверял. Просто я не стал описывать в целях экономии времени весь процесс, а просто указал "Весь день возился". :) Я понимаю, что чтение всего этого хозяйства утомительно, но выше я писал, что при некоторых условиях ошибка 4066 не генерируется, а генерируется NO_ERROR, в то время как данных нет и возврат ф-ции - 0 элементов.
Что делать дальше в такой ситуации - непонятно. RefreshRates() обновляет символ окна и надо полагать только оконного таймфрейма.
Проконтролировать подгружаются необходимые данные или нет и, главное, будут они вообще грузится и когда окончание подгрузки - нет возможности.
А так как история грузится с хвоста, подгрузка нулевого бара не означает, что все данные загружены.
Разумеется, эксперт работает гораздо быстрее, чем грузятся данные, и даже если его искуственно пытаться тормозить, он, получая NO_ERROR без данных, неизбежно генерирует в дальнейшем ошибки.