Новая версия платформы MetaTrader 5 build 5800: Улучшенный торговый диалог и удобная работа с CSV в MetaEditor - страница 15
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подождите, подождите.
CustomRatesUpdate предполагает изменение истории в неизвестном заранее месте. Пересчёт.
В отличие от CustomTickAdd, который гарантированно модифицирует последний бар. Досчёт последнего бара.
По инфе, раскопанной добрыми людьми (эта?-https://www.mql5.com/ru/forum/508121/page12#comment_59612481), происходит модификация очень старых баров 10-летней давности. Так что, пересчёт совершенно законен. Проверьте Ваш код. И проверьте правильность первоначального формирования кастомного символа.
Всё уже давно проверено и выложен тест-кейс (выше). Обновляется только последний бар. На момент написания статьи (откуда взят тест-кейс) всё работало без проблем, то есть обновление последнего бара не приводило к смаргиванию индикаторов. Потом видимо добавили какое-то "улучшение" в МТ5 (могли бы по истории коммитов посмотреть, что и как меняли, еще тогда, когда на форуме это отметили), и появился этот баг.
Место обновления истории прекрасно известно по передаваемым данным в массиве котировок. Зачем дергать полный рефреш, если изменился только последний бар? Вы же делаете рефреш уже после того как обработали бары и суть изменений известна.
Построение баров по тикам самими терминалом делается только по правилам стандартных баров, а кастом-инструменты могут иметь собственные правила формирования баров - ренко, поинт-энд-фига, например и т.д.
кастом-инструменты могут иметь собственные правила формирования баров - ренко, поинт-энд-фига, например и т.д.
тут скорее фич-реквест - чарты отличные от свечных всё-таки полезны и востребованы. В конце концов, у конкурентов и больших дядей есть.
но это точно не CustomSymbol - инструмент это всё-таки поток котировок, образно - сохранённый массив тиков.
А это? https://www.mql5.com/ru/forum/508121/page11#comment_59609590
Если вы поместите любой скрипт Python в каталог скриптов, вы увидите этот файл в навигации MT5. Однако при нажатии на другие скрипты MQL5 запускается некорректный скрипт.
тут скорее фич-реквест - чарты отличные от свечных всё-таки полезны и востребованы. В конце концов, у конкурентов и больших дядей есть.
но это точно не CustomSymbol - инструмент это всё-таки поток котировок, образно - сохранённый массив тиков.
Достали баги компилятора. Воспроизводятся, как обычно, только в нетестовых проектах. Отбивают напрочь желание иметь дело с платформой.
Убил два часа вот на такое поведение - код (в релизе и в дебаге - без разницы, c AVX и без):
выводит в лог:
Пришлось фиксить так:
Так работает правильно - в if не заходит при неотрицательном числе.
ЗЫ. Нет, рано я обрадовался - это всё идет от порчи где-то ещё, теперь падает внутри цикла (int k = 0; k < ArraySize(x); k++) при обращении к элементу x[k] когда k = ArraySize(x), то есть условие проверки в заголовке цикла не срабатывает. Ушёл.
Обновил терминал.
Это не открепление, а псевдо-уменьшение.
Открепление - это когда работает независимо, здесь-же перекрывает область Метаэдитора и мешает.
Если закрыть и снова открыть - возвращается обратно, снова нужно псевдо-откреплять.
После типа открепление дерево скрыто, размеры нарушены - снова нужно настраивать.
В текущем виде это не справка, а проверка программистов на прочность.
Пожалуйста, дайте выбор между .chm справкой и текущим.
Посмотрите бету 5809, пожалуйста:
С CHM форматом Микрософт фактически закончил развитие в 2009 году. Он не просто морально устарел, а вообще никуда не годится.
Откройте вот так хелп окно во время работы с кодом и оно реально удобно будет стоять рядом поверх вашего рабочего файла, реагируя на ваши F1 в коде:
Это в разы удобнее, чем переключаться в окно чужого CHM процесса.
Попробуйте и наоборот оцените новый режим.
Достали баги компилятора. Воспроизводятся, как обычно, только в нетестовых проектах. Отбивают напрочь желание иметь дело с платформой.
Убил два часа вот на такое поведение - код (в релизе и в дебаге - без разницы, c AVX и без):
выводит в лог:
Пришлось фиксить так:
Так работает правильно - в if не заходит при неотрицательном числе.
ЗЫ. Нет, рано я обрадовался - это всё идет от порчи где-то ещё, теперь падает внутри цикла (int k = 0; k < ArraySize(x); k++) при обращении к элементу x[k] когда k = ArraySize(x), то есть условие проверки в заголовке цикла не срабатывает. Ушёл.
Похоже на ошибку оптимизатора.
Я попробовал в разных вариантах такой код:
void OnStart() { double multfail=rand()/32768.0; Print("Before if: ", multfail, " ", multfail < 0.0); if(multfail < 0.0) { Print("Inside if: ", multfail, " ", multfail < 0.0); } } 2026.04.21 23:46:28.244 1 (AUDCAD,H1) Before if: 0.0675048828125 false 2026.04.21 23:46:45.656 1 (AUDCAD,H1) Before if: 0.301239013671875 false 2026.04.21 23:46:48.377 1 (AUDCAD,H1) Before if: 0.49298095703125 false 2026.04.21 23:46:51.839 1 (AUDCAD,H1) Before if: 0.2005615234375 falseПришлите или выложите воспроизводимый код, пожалуйста.
Обязательно найдем и исправим.
ps: в дебаг режиме тоже ловится?
С CHM форматом Микрософт фактически закончил развитие в 2009 году. Он не просто морально устарел, а вообще никуда не годится.
К тому же, часто открываю по несколько файлов со справкой, когда изучаю что-то новое или забытое старое, где взаимосвязанные функции - очень удобно было.