Непонятные изменения в истории котировок

 
Добрый день,

Использую MetaTrader 3 API для Delphi, чтобы загружать историю котировок за день. Для верности, каждую последующую загрузку делаю с небольшим нахлёстом в 1 час, на ту историю, которая уже была загружена. Из-за этого нахлёста обнаружилась интересная особенность. Значение Close по одной и той же валютной паре, периоду и времени, загруженное вчера, иногда отличается от той же записи загруженной сегодня.

Приведу пример для наглядности (цифры и даты вымышленные)

Если нас интересует значение Close для
EURUSD за период H4 и время 2006-05-10 12:00:00

И мы сделали загрузку вчера, мы получили значение 1.234567

Если мы делаем такую же загрузку сегодня, запрашивая то ж самое:
EURUSD за период H4 и время 2006-05-10 12:00:00

Мы можем получить уже другое значение, допустим 1.249876

Как объяснить этот феномен? Заранее спасибо за советы и помощь.
 
Если речь идет о самом последнем баре предыдущего запроса, то это абсолютно нормально. Последний бар ведь не закончил свое формирование на момент запроса данных.
 
Да, я сначала думал, что дело в преобразовании типов, но проблема действительно есть только для Close.

Получается, что каждый последующий запрос по одной и той же записи будет приближать значение Close к окончательному до тех пор пока оно не станет истинным?

Вы не подскажите по какому принципу тогда нужно выстривать достоверную историю с учётом выявившейся особенности?
 
Получается, что каждый последующий запрос по одной и той же записи будет приближать значение Close к окончательному до тех пор пока оно не станет истинным?

Именно.

Вы не подскажите по какому принципу тогда нужно выстривать достоверную историю с учётом выявившейся особенности?

Мы это многократно описывали - поищите в форуме. Идея в том, что из тиков самостоятельно собирать бары. А периодические запросы истории - это абсолютно неверное решение и мы его явно запрещаем. Работа через апи должна быть максимально экономична и не должна напрягать сервер.
 
Понятно, спасибо. Буду собирать тики...