Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Предусмотрено. Медленный вариант с симуляцией ручного удержания HOME.
12/11/2013 получил ответ от тех.поддержки брокера.
Предложили :
Для загрузки полной истории котировок по нужному инструменту необходимо:
Выполнил, все потерянные данные появились. Не было с 28/10 по 05/111. запустить торговый терминал
2. перейти в сервис - настройки - графики
3. в поле максимальное количество баров в истории прописать 2147483647, затем нажать ОК
4. перейти в архив котировок, выбрать инструмент, таймфрейм, загрузить
Если история загрузится не полностью, то необходимо отключить терминал, перейти в корневую папку МТ4, найти папку history и отчистить ее содержимое за исключением файла news.dat,
после чего запустить терминал и последовать инструкции, приведенной выше.
Значит исправили.
Уважаемые господа разработчики, к вам вопрос:
заходим на эту страничку и читаем:
"При запросе данных из индикатора, если запрашиваемые таймсерии еще не построены или их необходимо загрузить с сервера, то функция сразу же вернет -1, но при этом сам процесс загрузки/построения будет инициирован.
При запросе данных из эксперта или скрипта, будет инициирована загрузка с сервера, если локально этих данных у терминала нет, либо начнется построение нужной таймсерии, если данные можно построить из локальной истории, но они еще не готовы. Функция вернет то количество данных, которые будут готовы к моменту истечения таймаута, но загрузка истории будет продолжаться, и при следующем аналогичном запросе функция вернет уже больше данных."
Аналогично для CopyTime(), CopyOpen() и т.п.
Почему-то озвученный в документации процесс (то, что выделено красным) не хочет работать.
Проверял следующим образом:
1. Выбрал инструмент, по которому в терминале нет данных (всего 5 баров)
2. На графике другого инструмента и другого таймфрейма запустил индикатор, в котором в функции OnTimer() каждую секунду выполнял запрос:
int copied=CopyRates(Symb,MyTF,0,1000,rates); //естественно, были верно заданы все входящие переменные : MqlRates rates[]; и т.п.
Print("Скопировано баров: "+copied);
3. Так вот - количество скопированных баров всё время равнялось 5.
4. Далее я открыл график с инструментом Symb и таймфреймом MyTF. При этом не нажимал кнопку Home. С сервера подгрузилось определенное количество баров. Закрыл этот график.
5. Снова на графике (см. п. 2) выполнил запрос. Количество скопированных баров увеличилось до 299, но далее загрузка не продолжалась, несмотря на продолжающиеся запросы.
Пожалуйста, разъясните эту нестыковочку и, если не сложно, подскажите, как правильно подгружать историю с помощью программного запроса.
Спасибо.