Особенности языка mql5, тонкости и приёмы работы - страница 303
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Побитовые операторы преобразуют небольшие целые числа (такие как char/uchar) в знаковые инты. https://stackoverflow. com/a/28142065
Интегральные преобразования небольших целых чисел имеют побочные эффекты, о которых следует знать. В следующем примере значение uchar/char может быть сдвинуто влево больше, чем его ширина (<< больше 8 бит)
Существует также другая проблема с побитовыми операторами(знаковыми типами):
При выполнении побитовых операций, если вы хотите получить строго определенный (в соответствии со стандартом) результат, вы должны убедиться, что значения, с которыми производятся операции, являются беззнаковыми. Это можно сделать либо с помощью явного приведения, либо используя явно беззнаковые константы (U-суффикс) в бинарных операциях.
Вероятно, лучше избегать побитовых операций с char/uchar или short/ushort.
Зачем вам это вообще нужно?
Если вы хотите использовать биты для представления тиковых данных, просто посчитайте, сколько битов вам нужно, и используйте достаточное количество int (или long ?) для их соответствия. У меня нет времени этим заниматься, но это может быть интересно.
Такая задача.
Здесь https://www.mql5.com/en/forum/349798/page3#comment_57408237
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Скрипты: TickCompressor
amrali, 2025.07.04 02:54
TickCompressor v.0.1c: полностью устранена потеря точности при использовании арифметического (int) кодирования тиковых цен с фиксированной точкой.(идея взята у fxsaber)
Здесь https://www.mql5.com/en/forum/349798/page3#comment_57408237
Попробуйте замерить критерий эффективности ваших правок (взят отсюда).
Просьба пояснить с побитовыми операциями.
Почему побитовая операция приводит к созданию int-переменной?
Как дешево делать побитовые операции?
Это правильно?
ЗЫ Перенес в эту ветку, т.к. она autotranslate.
Учим плюсы и улыбаемся)))
https://en.cppreference.com/w/cpp/language/operator_arithmetic.html
Раздел Built-in bitwise shift operators
Там читаем:
Учим плюсы и улыбаемся)))
https://en.cppreference.com/w/cpp/language/operator_arithmetic.html
Спасибо. Мне хотелось бы найти быстрый способ умножения int на отрицательную степень 10-ти.
Спасибо. Мне хотелось бы найти быстрый способ умножения int на отрицательную степень 10-ти.
Это ты, что бы в цикле на 10 не делить? Что-то, что примерно так же работало бы:
С++17:
Это ты, что бы в цикле на 10 не делить?
Про это. Если Pow сделать float, то сразу ускорение. Но тогда потеря точности на том же BTCUSD.
OpenCL не пробовали подключать к такому типу задачи(упаковка-распаковка)?
Я совсем не в этой теме. Скорость уже неплохая. Но для самообразования было бы интересно посмотреть готовый вариант.
Здесь https://www.mql5.com/en/forum/349798/page3#comment_57408237
Результат (BTCUSD).