Ошибки, баги, вопросы - страница 2132
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не понял, а какой смысл в MQL было делать все наоборот?
MQL5 весь юникодный, так что мы полностью отказались от однобайтных строк.
Не верю что полностью! Все работает
Результат: Ansi is alive!
Не верю что полностью! Все работает
Результат: Ansi is alive!
Упаковать бинарно в unicode, а потом получить риск взорваться на вызове через системную функцию неразумно.
Скорее всего отфильтруем такие попытки позже.
получить риск взорваться на вызове через системную функцию неразумно.
Не стоит преувеличивать поскольку string гарантированно завершается нулем. И кроме того однобайтовые символы наряду с многобайтовыми фактически являются частью Юникода и в MQL тоже все это прекрасно работает благодаря чему например есть возможность вывода во вкладку Эксперты нормальным (а не этим ужасным моноширинным) шрифтом.
Это все равно что запретить вызов из dll функции с аргументом uchar[] опасаясь что пользователь неправильно его заполнит (например не завершит нулем), при том что многие системные функции требуют именно uchar[], а не ushort[] (который кстати тоже можно неправильно заполнить)
2-ая строка - вывод человеческим (не моноширинным) шрифтом. Как видите технически не сложно оставить моноширинный шрифт только для ::ArrayPrint()
Здравствуйте. Помогите пожалуйста найти причину ошибки. Перевожу индикатор с mql4 на mql5. Для функций iHigh использую следующую "оболочку":
В итоге получаю ошибку 4301: "Неизвестный символ", хотя в качестве параметра symbol передается строка возвращаемая функцией Symbol(). Вот кусок кода функции, которая вызывает iHigh
Здравствуйте. Помогите пожалуйста найти причину ошибки. Перевожу индикатор с mql4 на mql5. Для функций iHigh использую следующую "оболочку":
В итоге получаю ошибку 4301: "Неизвестный символ", хотя в качестве параметра symbol передается строка возвращаемая функцией Symbol(). Вот кусок кода функции, которая вызывает iHigh
Кто такой "i"? Какое его значение перед циклом?
Вы делаете вызов ResetLastError перед iHigh?
Кто такой "i"? Какое его значение перед циклом?
Вы делаете вызов ResetLastError перед iHigh?
Значение i перебирается в цикле в функции OnCalculate
Вызов ResetLastError не делал, сейчас поставил - код ошибки тот же. В функции OnCalculate я использую массивы low[i], high[i] и т.п., а во внешних функциях iHigh, iLow и т.п.