SeriesInfoInteger(_Symbol,_Period,SERIES_SYNCHRONIZED)) и SymbolIsSynchronized(_Symbol)

 

Кто объяснит разницу между

SeriesInfoInteger(_Symbol,_Period,SERIES_SYNCHRONIZED)) и SymbolIsSynchronized(_Symbol)

Есть ли она, есть есть то в чём выражается и когда лучше использовать одну конструкцию, а когда другую?

 

Только разработчики могут объяснить, зачем эта синхронизация вообще нужна. Вроде как для советников она всегда = true. Нет даже единого мнения, как синхронизацию использовать. 

Проще после вызова CopyRates() проверять длину массива.

 
Хотелось бы тогда услышать комментарии разработчиков, раз никто не знает. 
 
Это всё понятно, именно этим скриптом я и заканчиваю данные, но чем различаются приведённые выше функции? 
 
При чём здесь скрипт? Вы полностью прочитали то, что написано до скрипта?
 

А как выглядят эти несинхронизированные данные? Что возвращают  Copy*() в этом случае?

Если возвращаются устаревшие на несколько секунд данные, то это не критично для большинства стратегий. На цикле синхронизации можно потерять гораздо больше времени, чем в ожидании следующего тика.

При открытии позиции используются последние цены через SymbolInfoDouble(), а не данные бара.

 

В экспертах и скриптах при вызове Copy-функций делается несколько попыток - проверяется первая дата на сервере, проверяется первая дата в клиентском терминале, сравнивается с запрошенной датой, проверяется синхронизированность символа, посылается запрос на докачку, небольшое ожидание и по кругу с проверки синхронизированности. Если символ так и не синхронизирован, то отдаётся то, что есть и удовлетворяет условиям запроса. При этом синхронизированность запрошенной таймсерии не проверяется, так как она достраивается на лету в процессе подкачки данных.

В индикаторах делается только один запрос - никакого цикла! Потом сразу же отдаётся всё, что сумели взять.

 
При запросе SymbolInfoDouble всегда отдаются самые свежие данные
 
Slawa:
При запросе SymbolInfoDouble всегда отдаются самые свежие данные
Это всё понятно. Но вопрос в теме звучит так:
Чем отличается:
SeriesInfoInteger(_Symbol,_Period,SERIES_SYNCHRONIZED)) и SymbolIsSynchronized(_Symbol)
 

Ничем они не отличаются.

Наконец-то теперь мы знаем, что синхронизация нужна пипсовщикам, а для остальных она на профит мало повлияет.

Причина обращения: