Проблемы с функцией SeriesInfoInteger в мт4. - Не могу получить данные с другого символа. Для демонстрации сделал индикатор который показывает проблему:
Я хочу узнать сколько баров доступно по другому символу. Когда запускаю по текущему символу всё работает ,если же указываю в инпуте другой символ то получаю 0. Ошибки тоже при этом нет. Другой символ в обзоре рынка присутствует и история по нему есть. Подскажите где я что неправильно понимаю и в чём ошибка ?
А точно есть история и есть подготовленная история? (Организация доступа к данным)
точно есть. Перешёл на iBars. там всё работает.
Я не вижу в Вашем коде подтверждения наличия подготовленной истории.
я говорю об мкл4 если что, а не про мкл5
И ещё, я не загружаю историю, а пытаюсь получить количество доступных баров по инструменту который есть в обзоре рынка, но по которому не открыт график. По этой паре приходят тики,это видно, но нет ни одной свечки ??? какая то фантастика.
я говорю об мкл4 если что, а не про мкл5
И ещё, я не загружаю историю, а пытаюсь получить количество доступных баров по инструменту который есть в обзоре рынка, но по которому не открыт график. По этой паре приходят тики,это видно, но нет ни одной свечки ??? какая то фантастика.
- docs.mql4.com
точно, и даже именно этим скриптом я и закачиваю историю при необходимости, но опять же на мкл5. На мкл4 попытка обратиться к бару большему чем хранится в переменной SeriesInfoInteger(Symbol(),Period(),SERIES_BARS_COUNT) сразу приводит к ошибке, и это не смотря на то, что на сервере данные ещё есть.
На сервере и подготовленные данные в терминале - это две большие разницы. И вообще обращение к другому инструменту и другому таймфрейму целесообразно делать в советнике, а не через индикатор. В советнике скрипт из (Организация доступа к данным) сможет корректно отработать.
На сервере и подготовленные данные в терминале - это две большие разницы. И вообще обращение к другому инструменту и другому таймфрейму целесообразно делать в советнике, а не через индикатор. В советнике скрипт из (Организация доступа к данным) сможет корректно отработать.
#property strict input string sm=""; void OnTick() { string smb=sm; string txt=""; if (sm=="") smb=Symbol(); long brs=0; ResetLastError(); if (!SeriesInfoInteger(smb,Period(),SERIES_BARS_COUNT,brs)){Print("Ошибка: "+(string)GetLastError());} txt="Доступно баров: "+(string)brs; Comment(txt); }
Разницы никакой. При этом iBars нормально работает. Обращение итак идёт у меня из советника.
Индикатор использовал только для проверки, чтобы удобнее было смотреть как меняются данные при смене смивола. чисто для удобства.
При чём вот такой код работает вообще без проблем, и при чём показывает количество свечей даже по тем инструментам которые отсутствуют в обзоре рынка.
#property strict input string sm=""; void OnTick() { string smb=sm; string txt=""; if (sm=="") smb=Symbol(); int brs=0; brs=iBars(smb,Period()); txt=txt+"\nДоступно баров: "+(string)brs; Comment(txt); }
Вот я поэтому и хочу понять функцию SeriesInfoInteger. Что я не так понимаю что она у меня не работает
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Проблемы с функцией SeriesInfoInteger в мт4. - Не могу получить данные с другого символа. Для демонстрации сделал индикатор который показывает проблему:
Я хочу узнать сколько баров доступно по другому символу. Когда запускаю по текущему символу всё работает ,если же указываю в инпуте другой символ то получаю 0. Ошибки тоже при этом нет. Другой символ в обзоре рынка присутствует и история по нему есть. Подскажите где я что неправильно понимаю и в чём ошибка ?