Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Встретил только что Вашу проблему уже в МТ5 в индикаторе, не выходя из одного цикла OnTimer, проверяю таймсерию на другом символе/периоде (не текущем) - функция говорит, что она построена и дает корректное число баров. Вызываю сразу после этого другую функцию построения индикатора - внутри неё уже, вызванной не выходя из одного и того же вызова OnTimer, таймсерия умудряется выгрузится и SeriesInfoInteger уже возвращает нули. Пришлось встраивать дополнительную циклическую проверку, чтобы все строилось само без поступления тиков.
Какой билд терминала МТ5? Михаил писал, что в МТ5 в билде 1200 все должно быть хорошо:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Сервисдеск. Жалобы, предложения.
Михаил, 2015.10.29 17:46
Проблему с данными в индикаторах я поднимал давно!
https://www.mql5.com/ru/forum/42180
Меня заверили, что проблему решили.
Об этом даже написали в аннотации к релизу 1200
17. Terminal: Исправлена ошибка, приводившая к выгрузке исторических данных как неиспользуемых, несмотря на регулярные обращения к данным из MQL5 программ.
А если билд новый, а ошибка сохранилась - в сервисдеск с доказательствами!
Какой билд терминала МТ5? Михаил писал, что в МТ5 в билде 1200 все должно быть хорошо:
А если билд новый, а ошибка сохранилась - в сервисдеск с доказательствами!
Топикстартеру в первом же ответе был дан совет по его проблеме, который он, топикстартер, проигнорировал.
Для того, чтобы получать актуальные данные с чужого символа-периода необходимо обращаться к этим данным чаще, чем 1 раз в 10 секунд. Либо обратиться к этим данным из эксперта, например при помощи iTime (тогда к данным можно обращаться не реже, чем 1 раз в 3 минуты)
Топикстартер явно видел этот совет, так как в его индикаторе, который он представил здесь, есть закомментаренный код
Если в OnInit и в начале OnCalculate вставить безусловный вызов iTime(_Symbol,period,0), то никаких описанных выше проблем просто не будет
SeriesInfoInteger просто собирает уже существующую информацию, не вызывая подкачки данных, и это логично.
Топикстартеру в первом же ответе был дан совет по его проблеме, который он, топикстартер, проигнорировал.
Для того, чтобы получать актуальные данные с чужого символа-периода необходимо обращаться к этим данным чаще, чем 1 раз в 10 секунд. Либо обратиться к этим данным из эксперта, например при помощи iTime (тогда к данным можно обращаться не реже, чем 1 раз в 3 минуты)
Топикстартер явно видел этот совет, так как в его индикаторе, который он представил здесь, есть закомментаренный код
Если в OnInit и в начале OnCalculate вставить безусловный вызов iTime(_Symbol,period,0), то никаких описанных выше проблем просто не будет
SeriesInfoInteger просто собирает уже существующую информацию, не вызывая подкачки данных, и это логично.
Вячеслав, Вы сейчас к кому обращаетесь? Ко мне? Или к Илье?
Если к Илье, то он говорит уже про mql5, читайте, пожалуйста, внимательнее, прежде чем отвечать. Не раз уже говорил, что Вы торопитесь ответить, не разобравшись в деталях.
Я Ваш совет видел, закомментированный код тому подтверждение, спасибо, помогло. Раз Ренат сказал, что будет исправлена агрессивная выгрузка данных, то не стоит дальше продолжать обсуждение mql4.
А вот если такая же ситуация продолжается и в mql5, хотя должно быть исправлено, начиная с билда 1200, то тут тогда как быть?
И еще раз повторюсь, если Вы (разработчики) ничего менять не будуте в mql4, добавьте в документацию, что SeriesInfoInteger() только собирает существующую информацию, и все! Все вопросы отпадут, либо же можно будет просто ткнуть носом в документацию!
Вячеслав, Вы сейчас к кому обращаетесь? Ко мне? Или к Илье?
Поскольку было упомянуто iTime, речь явно об МТ4. Я пока не приводил конкретного примера кода чтобы мне отвечать.
Это я понял, но, скорее всего и обращались к Вам. Но Вы писали про ошибку в mql5.
Я не топикстартер :)
Да, но пост походил на объяснение Вам того, чего я, по мнению Вячеслава, не уловил.
А по-моему, это такая манера общения к Вам :)
Я ещё вернусь к своей проблеме и предоставлю проверочный код. Если только в билде 1210 что-то не исправили. Пока сделал циклическую проверку и поехал дальше, останавливаться не досуг.
Напишите потом результат Ваших опытов с историей в МТ4)
Начал опыты по загрузке истории с нуля. Т.е. удаляю всю историю по символу и запускаю терминал. Настройка терминала макс. баров в окне = 5000.
Если в МТ5 использовать подобие скрипта из "Организация доступа к данным" - то видно, что история подгружается либо до максимального количества баров, либо же до последней даты на сервере.
В МТ4 же используя подобную схему - данные не подгружаются. Т.е. доступно изначально где-то 2050 и, чтобы получить больше истории, нужно прокручивать график вглубь истории.
Также заметил одну особенность. При прокрутке, если подкачиваются новые бары, то prev_calculated сбрасывается в 0 (работает как кнопка "Обновить").
Уважаемые разработчики. Прокомментируйте пожалуйста, можно ли каким-нибудь образом подкачать историю без использования прокрутки графика (МТ4!).