Проблема перевода с МТ4 на МТ5. Или, точнее, невозможность без'ошибочного исполнения некоторых алгоритмов в МТ5. - страница 6
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Один раз считать все таймсерии, а дальше только дополнять. Можно в окне.
Ну это же бред!
Зачем тогда терминал и MQL? Чтобы самому все писать? А ордера отправлять по фиксу прямо брокеру?
То есть предлагаете не использовать буферы, а работать со своими массивами?
Зачем тогда буферы?
То есть предлагается сделать свой костыль, вместо буферов :(
И вместо iTime, iLow и т.д. сделать свои функции... переписать все по своему, в обход неработающих функций из МТ5...
Это кардинально. Но пусть этим энтузиасты занимаются. Постою в сторонке. Даже наблюдать за процессом не буду.
Тогда ошибка в логике, возможно. Бара может и не быть.
Бар есть. Не всегда функция выдает -1. Полагаю это как раз вот это из описания языка МТ5:
"...Доступность данных
Наличие данных в формате HCC или даже в готовом для использования формате HC не всегда означает безусловную доступность этих данных для отображения на графике или для использования в mql5-программах.
При доступе к ценовым данным или к значениям индикаторов из mql5-программ следует помнить, что не гарантируется их доступность в определенный момент времени, либо с определенного момента времени..."
Ну это же бред!
Зачем тогда терминал и MQL? Чтобы самому все писать? А ордера отправлять по фиксу прямо брокеру?
Всё там работает. Но иногда в доступе отказывается. Может по причине обновлений таймсерии - не знаю. При отказе нужно повторить запрос, так как первый запрос активизирует подкачку данных.
Если бы все работало, не было бы миллион тем, посвященных этой проблеме.
Просто логика оказалась сложнее, чем готовы осилить пользователи терминала.
Да и ошибки, наверняка есть, но разработчикам их искать не досуг, а из пользователей воспроизводить и доказывать тоже никто не хочет.
А в чём бред? В том, что у вас в буфере есть готовые данные? Так это и в четверке для ускорения делалось не раз.
Бред — в организации своей копии данных, которые и так доступны в терминале.
Бар есть. Не всегда функция выдает -1. Полагаю это как раз вот это из описания языка МТ5:
"...Доступность данных
Наличие данных в формате HCC или даже в готовом для использования формате HC не всегда означает безусловную доступность этих данных для отображения на графике или для использования в mql5-программах.
При доступе к ценовым данным или к значениям индикаторов из mql5-программ следует помнить, что не гарантируется их доступность в определенный момент времени, либо с определенного момента времени..."
Делал много индикаторов таким образом - на классах таймсерии. Там всё есть, и ничем не отличается от обычной работы с индикаторами. Но в дополнение - куча удобств.
Все-таки лучше, чтобы правильно работали функции языка без этих наворотов. Либо в языке было сделано так, как Вы предлагаете. То есть чтобы программисты не придумывали что-то каждый на свой лад с обсуждениями на форуме, в языке должн быть реализован, возможно, через какие-то дополнительные функции безсбойный доступ к таймсериям.
iBarShift() одинаково работают в обоих терминалах. И возвращаются одинаковые коды возврата при одинаковых условиях.
Зачем тогда в описании языка есть приведенная мной цитата? Если все работает на ура, зачем писать в справочнике по языку, что в любой момент может быть отказано в доступе?
А раз есть отказ в доступе и разработчики чесно об этом говорят, то и плодятся темы на форуме. И КАЖДЫЙ! программист сталкивается с этой проблемой. И каждый пытается решить эту проблему по своему. У кого-то получается, у кого-то не получается.
Грамотные разработчики создают библиотеки, например tensorflow, чтобы люди не мучались. А здесь... ну в начале ветки все читали ответы Рената...