ФОРТС Прошу помощи - страница 2

 
Dima_S:
Как у меня пробовали?

Вы выложили один и тот же код

Попробуйте мной поправленый 

 
Mikalas:

Вы выложили один и тот же код

Попробуйте мной поправленый 

Значит не пробовали)) Советую все-таки это сделать. То, что Вы поправили, ничего не изменит радикально.
 
Dima_S:
Значит не пробовали)) Советую все-таки это сделать. То, что Вы поправили, ничего не изменит радикально.

SeriesInfoInteger

Возвращает информацию о состоянии исторических данных. Существует 2 варианта функции.

SERIES_BARS_COUNT

Количество баров по символу-периоду на данный момент

long

 

2015.03.26 16:42:23.725 Test_dima (MIX-6.15,M1) Get Bars failed RTS-6.15 Last error = 4401
2015.03.26 16:42:23.725 Test_dima (MIX-6.15,M1) Get Bars failed RTS-6.15 Last error = 4401
2015.03.26 16:42:23.725 Test_dima (MIX-6.15,M1) Sorry! Get Bars failed.
2015.03.26 16:42:30.970 Test_dima (MIX-6.15,M1) Get Bars failed RTS-6.15 Last error = 4401
2015.03.26 16:42:30.970 Test_dima (MIX-6.15,M1) Sorry! Get Bars failed.
 

Дмитрий, я переписал ещё раз код в начале топика

Попробуете его ещё раз и выложите здесь результаты. 

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

Те, у кого символы уже выбраны в маркетвотче, да еще и чарты открыты, закономерно получают бинго.

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

 
barabashkakvn:
Чтобы получить данные, а особенно с другого инструмента, нужно гарантировать наличие этих данных в терминале. Если данных нет, то обеспечить подкачку этих данных. Организация доступа к данным 

Вы постоянно не правильно воспринимаете ситуацию!

Функция SeriesInfoInteger с идентификатором SERIES_BARS_COUNT как раз и возвращает количество данных  на данный момент.

 
Mikalas:

Вы постоянно не правильно воспринимаете ситуацию!

Функция SeriesInfoInteger с идентификатором SERIES_BARS_COUNT как раз и возвращает количество данных  на данный момент.

Вы всё таки прочтите справочное руководство. И ещё: в индикаторе пытаться получить что-либо в OnInit() - неправильно. Правильно начинать свои действия в OnCalculate() - когда будет гарантированно загружено окружение.
 

Коль скоро начались "отправки" к справочному руководству, то, вероятно, 

следует объяснить причину.

Если данные в истории или в терминале есть, то используя всевозможные проверки мы их в конечном счёте получим.

Но если данных ДЕЙСТВИТЕЛЬНО нет, что тогда?

Бесконечный цикл? 

Должна быть функция, которая СРАЗУ возвращает наличие информации в терминале (или её отсутствие). 

 
Mikalas:

Коль скоро начались "отправки" к справочному руководству, то, вероятно, 

следует объяснит причину.

Если данные в истории или в терминале есть, то используя всевозможные проверки мы их в конечном счёте получим.

Но если данных ДЕЙСТВИТЕЛЬНО нет, что тогда?

Бесконечный цикл? 

Должна быть функция, которая СРАЗУ возвращает наличие информации (или её отсутствие). 

Особенно касаемо индикаторов. Некоторые функции работают по разному в индикаторе и в скриптах/экспертах.

К примеру Copy... функции в индикаторе при отсутствии данных сразу возвращают ошибку (но инициируют закачку данных), в скриптах/экспертах дополнительно делается попытка ожидания готовности данных и только потом сообщается об ошибке, если данные получить не удалось. Многие такие нюансы действительно отражены в справке.