SeriesInfoInteger(_Symbol,_Period,SERIES_SYNCHRONIZED)) и SymbolIsSynchronized(_Symbol) - страница 2

 
Alexey Oreshkin:
Это всё понятно. Но вопрос в теме звучит так:
Чем отличается:

Опять за рыбу деньги.

Прочитали материал?

Хранение промежуточных данных

Полученные с сервера данные автоматически распаковываются и сохраняются в специальном промежуточном формате HCC. Данные по каждому символу пишутся в отдельную папку каталог_терминала\bases\имя_сервера\history\имя_символа. Например, данные по символу EURUSD  с торгового сервера MetaQuotes-Demo будут находиться в папке каталаг_терминала\bases\MetaQuotes-Demo\history\EURUSD\.

Данные записываются в файлы с расширением .hcc, каждый файл хранит данные минутных баров за год. Например, файл 2009.hcc в папке EURUSD содержит минутные бары по символу EURUSD за 2009 год. Эти файлы используются для подготовки ценовых данных по всем таймфреймам и не предназначены для прямого доступа.

Получение данных нужного таймфрейма из промежуточных данных

Служебные файлы в формате HCC исполняют роль источника данных для построения ценовых данных по запрошенным таймфреймам в формате HC. Данные в формате HC являются таймсериями, максимально подготовленными для быстрого доступа. Они создаются только по запросу графика или mql5-программы в объеме, не превышающем значения параметра "Max bars in charts", и сохраняются для дальнейшего использования в файлах с расширением hc.

Для экономии ресурсов данные по таймфрейму загружаются и хранятся в оперативной памяти только по необходимости, при длительном отсутствии обращений к данным происходит выгрузка их из оперативной памяти с сохранением в файл. Для каждого таймфрейма данные подготавливаются независимо от наличия уже готовых данных для других таймфреймов. Правила формирования и доступности данных одинаковы для всех таймфреймов. Т.е. не смотря на то, что единицей хранения данных в формате HCC является минутный бар, наличие данных в формате HCC не означает наличие и доступность в том же объеме данных таймфрейма М1 в формате HC.

Получение новых данных с сервера вызывает автоматическое обновление используемых ценовых данных в формате HC по всем таймфреймам и перерасчет всех индикаторов, которые явно используют их в качестве входных данных для расчета.

SymbolIsSynchronized(_Symbol) применяется к символу вообще, безотносительно таймфрейма (вы видите среди параметров этой функции таймфрейм?), то есть к промежуточным данным

SeriesInfoInteger(_Symbol,_Period,SERIES_SYNCHRONIZED)) применяется к таймсерии. То есть, к символу-периоду. У этой функции есть параметр таймфрейм

 
Slawa:

Опять за рыбу деньги.

Прочитали материал?

SymbolIsSynchronized(_Symbol) применяется к символу вообще, безотносительно таймфрейма (вы видите среди параметров этой функции таймфрейм?), то есть к промежуточным данным

SeriesInfoInteger(_Symbol,_Period,SERIES_SYNCHRONIZED)) применяется к таймсерии. То есть, к символу-периоду. У этой функции есть параметр таймфрейм


вся история строится из минуток, при чём тут таймфремы вообще?
 
Вы, по-моему, не прочитали даже то, что я тут процитировал в моём предыдущем посте
 
Slawa:
Вы, по-моему, не прочитали даже то, что я тут процитировал в моём предыдущем посте

Slawa, Я всё внимательно прочёл, но ничего у меня не получается.

Задача: при первом запуске индикатора получить исторические данные по периоду старше PERIOD_CURRENT при НАЛИЧИИ символа в обзоре рынка и отсутствии ОТКРЫТОГО графика периода старше PERIOD_CURRENT. Открытие графиков с нужными периодами не желательно, всего надо получить текущий и пять старших. Итого 6.

Попытался подгрузить данные функцией int CheckLoadHistory(string symbol,ENUM_TIMEFRAMES period,datetime start_date) из документации но при первом запуске в режиме отладки получаю -5, при последующих запусках 1.

Стоит только перегрузить терминал и всё повторяется.

Что я не правильно делаю?

 

Чтобы не создавать вновь тему спрошу тут.


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

А как с этим же вопросом обстоит дело в тестере, так же могу не проверять или в тестере надо ?

 
Alexey Oreshkin:

Чтобы не создавать вновь тему спрошу тут.


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

А как с этим же вопросом обстоит дело в тестере, так же могу не проверять или в тестере надо ?

Если символ выбран в обзоре рынка, то котировки по нему поступают в терминал. Независимо от того, есть графики по этому инструменту или нет. То есть, никакую синхронизированность проверять не надо.
Причина обращения: