Ошибки, баги, вопросы - страница 1856
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
а как можно посмотреть кодировку?
то, что она изменилась я узнал по изменению вида текста в стороннем редактое, а как узать какая кодировка не знаю.
Только что создал советника в МЕ 1580: Win-1251 (ANSI)
Да, Акепадом вижу, что кодировка Win-1251 (ANSI), а у более старых файлов UTF-16LE 1200.
Так значит всё таки изменилась кодировка по умолчанию для новых файлов?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2017.04.14 11:40
Ага, криворукие брокеры. Они бы еще туда отрицательные числа запихали.
Хорошо бы, чтобы у разработчиков было ограничение диапазона возможных значений каждого параметра, когда брокеры настраивают символы.
Заметил, что при обновлении продуктов из маркета - все настройки этого продукта на графиках сбрасываются на настройки по умолчанию.
Это же неправильно. как этого избежать?
ArrayMaximum() и ArrayMinimum() - порядок передаваемых параметров не соответствует справке:
Небольшой лайфхак. Обход оператора присваивания
Результат
Это не лайфхак, а извращение.
От Вас такого не ожидал.
Это не лайфхак, а извращение.
От Вас такого не ожидал.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: TypeToBytes
fxsaber, 2017.04.13 13:34
Пример того, как данная возможность может быть полезна для выявления потенциальных ошибок.
Пишем и запускаем скрипт.
Результат.
_WRONG_ASSIGN_OPERATOR(STRUCT) = true
Это говорит о том, что оператор присваивания не будет копировать структуру в структуру этого же типа.
Если в структуру добавить еще,
то результат будет тот же.
Казалось бы, исправив этот оператор на
должно все стать корректным, но библиотека говорит об обратном.
Пожалуй, здесь самый тонкий момент данного примера.
Исправляем на
и получаем результат
_WRONG_ASSIGN_OPERATOR(STRUCT) = false
Вот теперь оператор копирования написан корректно!
Подобным образом можно проверять корректность операторов присваивания/копирования любых простых структур.
1. Когда мы пишем так:
должен вызываться не operator=, а конструктор копирования.Хотя, это больше вопрос к Метаквотам.
2. Если уж, не вызывается конструктор копирования, созданный компилятором, то мы можем его сами написать.
Теперь operator= не вызывается.
3. Поскольку члены структуры нам доступны, мы просто можем написать так:
Если же Вы сделаете их приватными, то и Ваш лайфхак не поможет.
4. И самое главное: operator= делают для того, чтобы всё присваивание шло через него, а не в обход.
Обычно вместе с ним определяют и конструктор копирования.
Да. Пример помотрел. Не увидел большой пользы.
1. Когда мы пишем так:
должен вызываться не operator=, а конструктор копирования.Хотя, это больше вопрос к Метаквотам.
2. Если уж, не вызывается конструктор копирования, созданный компилятором, то мы можем его сами написать.
Теперь operator= не вызывается.
3. Поскольку члены структуры нам доступны, мы просто можем написать так:
Если же Вы сделаете их приватными, то и Ваш лайфхак не поможет.
4. И самое главное: operator= делают для того, чтобы всё присваивание шло через него, а не в обход.
Обычно вместе с ним определяют и конструктор копирования.
Да. Пример помотрел. Не увидел большой пользы.
_R - универсальная штука. Поэтому чужие структуры со своими операторами переопределять не требуется.
Да, Акепадом вижу, что кодировка Win-1251 (ANSI), а у более старых файлов UTF-16LE 1200.
Так значит всё таки изменилась кодировка по умолчанию для новых файлов?
Нет, всегда была Win-1251 (ANSI), а в какой-то момент добавилась UTF. Но только для тех исходников, которые содержат не-анси символы.