Новая версия платформы MetaTrader 5 build 5800: Улучшенный торговый диалог и удобная работа с CSV в MetaEditor - страница 22
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы же сами 16 битное число сдвигали на 48 разрядов.
Тем более, что компилятор явно об этом писал.
Тут тоже путаница с битностью чисел в стандартной библиотеке. Часть в лонг и в коде все под лонг заложено, но в 3 или 4 местах перепутали и поставили инт. В итоге в 2 раза число правильно работающих элементов снижено.
https://www.mql5.com/ru/forum/1111/page3690#comment_58774387
Исправленный рабочий код CheckGroup.mqh приведен, осталось только скопировать.
Тут тоже путаница с битностью чисел в стандартной библиотеке. Часть в лонг и в коде все под лонг заложено, но в 3 или 4 местах перепутали и поставили инт. В итоге в 2 раза число правильно работающих элементов снижено.
https://www.mql5.com/ru/forum/1111/page3690#comment_58774387
Исправленный рабочий код приведен, осталось только скопировать.
Положите в другое место файл, можете прямо на десктоп вместо ссылки.
Мы вычищаем рабочие каталоги от старого мусора.
Как ни странно, но до этого я и сам додумался. А если совсем честно, то туда я засунул этот файл исключительно для проверки, удалится-ли он при обновлении. А тот который для чтения лежит в другом месте.
Только вот почему Вы посчитали, что для меня этот вопрос самый главный, на него ответили а другие проигнорировали…
Без оптимизации такая же проблема.
Много работал со справкой, когда писал эту библиотеку, потому что там почти весь исходник - это копи-паста из справки.
До обновления посмотрел, как происходил алгоритм работы старого варианта справки.
Шагов, вроде, много, но делается за секунду-другую все.
Теперь о результате после обновления на b5812.
В ME открылось просто это.
Поэтому два вопроса.
Сейчас пока не получается быстро написать такую же библиотеку.
Точка останова уезжает на следующую инструкцию.
Постоянно с этим сталкиваюсь. Приходится придумывать каждый раз обходные пути, чтобы все же добраться до проблемного места. Например, выставляю раньше точку останова, а затем через F11 дохожу до нужной строки.
Когда-то перестал делать баг-репорты по теме дебага. Как правило, лаконично и просто не создать вариант для воспроизведения. Забил.
Да, я не чувствую. К сожалению, я не использую VIM, хотя и хотел бы иметь такой скил.
Наверное только через жо ой, через поиск будет быстрей…
Вы же сами 16 битное число сдвигали на 48 разрядов.
Тем более, что компилятор явно об этом писал.
Ну так программа от этого не должна портиться в других никак не связанных местах и выполнять инструкции непредсказуемым образом.
То, что выведено предупреждение - это хорошо, в переменной при выполнении будет не то, что ожидалось (из-за невнимательности) - и это должен быть единственный эффект, а не куча побочки.
PS.
Вот код до правки:
Программа падает в подсвеченной строке с невероятной ошибкой так как заголовок цикла не отрабатывает как надо. Если добавить требуемый каст (ulong) в последнюю строку, проблема с циклом пропадает. Это нормально?
В зависимости от того, как отредактируешь несколько строк после этого фрагмента - начинаются чудеса в другом месте - с тем самым if(a * b < 0), который перестает правильно работать - программа проваливается внутрь него при отрицательных a и b.