Парни, такая проблема... А возможно получить данные с другого периода при тестировании 99.9 в Тикстори? У меня например, при тестировании советника на м15, обычная функция iClose(Symbol(), PERIOD_M1, 1) отдает нули, т.е. с м1 данные не подгружает. Сами понимаете, при тестировании индикаторов и функций с значениями периодов отличными от текущего будут косяки.
Может слишком поздно реагирую, но очень часто встречаю такие стереотипы.
В ТЕСТЕРЕ Все прекрасно работает
и iOpen
и iClose
и iHigh
и iLow
и iTime
и iVolume
В моем примере есть fxt только для М5, а все iOpen.... тянут с М1 и все показывают и 0 баре и на 1 баре.
Источником данных скорее всего являются hst файлы вот они должны быть для всех ТФ.
Hst файлы автоматом должны все делаться, главное галочку в тикстори поставить
Generate HST files - одна галка для всех ТФ сразу.
А вот когда речь идет не о ТЕСТЕРЕ, а о РЕАЛЕ, то тут сбойная iClose..... может дать результат, а может и не дать. И каждый вызов iClose..... надо контролировать на успешность выполнения GetLastError. Вот здесь начинается гемор.
Пример
iOpenW1_0 = iOpen(NULL, PERIOD_W1, 0);
Err_GetLast = GetLastError();
if(iOpenW1_0 == 0 || Err_GetLast != 0)
{
if(Err_GetLast != 4059) //
{
Print(Symbol(), " !!! NEWBAR iOpenW1_0 Err= ", Err_GetLast);
Print(" }
if(!IsTesting() && !IsOptimization() ) return;
}
Постоянным обращением к серверу функция iOpen со временем заставит подкачать нужные данные, но надо ждать и постоянно обращаться.

