ФОРТС: Функция Bars() - страница 5

 
Михаил:

Я не питаю к Вам ни симпатии, ни антипатии.

Мне абсолютно всё-равно кто Вы и что Вы.

Вы считаете, что не хамили - отлично.

У меня другое мнение.

Давайте останемся при своих мнениях.

Люди уже устали от наших перепалок.

Что нужно сделать, чтобы Вы от меня отстали? 

А не слишком ли у вас с манией величия? - Выражать мнение людей.

Вот чего не надо, так жертву из себя изображать.   

 
Dmitry Fedoseev:

А не слишком ли у вас с манией величия? - Выражать мнение людей.

Вот чего не надо, так жертву из себя изображать.   

Ответьте на вопрос...
 
Михаил:
Ответьте на вопрос...
На какой вопрос?
 
Dmitry Fedoseev:
На какой вопрос?
Что нужно сделать, чтобы Вы от меня отстали? 
 
Михаил:
Что нужно сделать, чтобы Вы от меня отстали? 
Ничего не надо, я ни к кому и ни куда не приставал.
 
Andrey Khatimlianskii:

Я согласен.

Но скорее всего исправлять этого не будут, просто подправят документацию.

Типа "возвращается имеющееся кол-во баров, для получения подробной информации проверьте GetLastError". 

Андрей!

Вы оказались не правы.

Разработчики обещают поправить (ответ из сервисдекс)

Support Team 2015.11.23 14:53
У меня не получилось воспроизвести ваш случай:

2015.11.23 16:29:43.077    Spread (SILV-12.15,H1)    GetBars: Бары=280  error code=0
2015.11.23 16:29:42.171    Spread (SILV-12.15,H1)    GetBars: Бары=280  error code=0
2015.11.23 16:29:42.170    Spread (SILV-12.15,H1)    GetBars: Бары=280  error code=0
2015.11.23 16:29:42.150    Spread (SILV-12.15,H1)    GetBars: Серия синхронизирована. Пробуем получить бары...
2015.11.23 16:29:42.150    Spread (SILV-12.15,H1)    GetBars: Символ сихронизирован. Проверяем таймсерию...
2015.11.23 16:29:42.150    Spread (SILV-12.15,H1)    GetBars: Бары не получены проверяем синхронизации...
2015.11.23 16:29:42.150    Spread (SILV-12.15,H1)    GetBars: Бары=0  error code=4401
2015.11.23 16:29:42.079    Spread (SILV-12.15,H1)    GetBars: Символ не синхронизирован. Пробуем получить данные с сервера...
2015.11.23 16:29:42.079    Spread (SILV-12.15,H1)    GetBars: Бары не получены проверяем синхронизации...
2015.11.23 16:29:42.079    Spread (SILV-12.15,H1)    GetBars: Бары=0  error code=4401

Но я допускаю что при определенных таймингах можно получить подобный результат.

Действительно функция Bars() в индикаторах может вернуть некоторое текущее, не окончательное, значение числа баров таймсерии. Внутренняя реализация этой функции для индикаторов не содержит дополнительной проверки на окончательную синхронизированность таймсерии (аналог SymbolIsSynchronized). Проще говоря, сколько есть баров в момент запроса, столько и отдает.

Как минимум в справке тут есть ошибка:

Примечание

Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не синхронизированы с торговым сервером, то функция вернет нулевое значение.
Т.е. данное утверждение справедливо для экспертов и скриптов, а в индикаторах функция отдает фактическое текущее значение.

Имеет смысл вызывать SymbolIsSynchronized() до Bars().

Реализацию Bars() поправим.
 
Михаил:

Андрей!

Вы оказались не правы.

Разработчики обещают поправить (ответ из сервисдекс)

Это тот случай, когда я рад, что ошибся ;)