Новая версия платформы MetaTrader 5 build 2615: Фундаментальный анализ и комплексный критерий в тестере стратегий - страница 8
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Почините, пожалуйста CopyTicks и CopyTicksRange
https://www.mql5.com/ru/forum/351196#comment_18277490
В 2605 тоже самое
Еще хотел бы спросить. Определение функции из Справочника MQL5:
Возвращает значение, округленное до ближайшего целого числа указанного числового значения.
Если эта функция округляет до целого, то почему она double ?
Неудивительно, что при ее использовании мне все время сыпятся предупреждения о потере точности.
И странно, что у меня только сейчас это стало приводить к ошибке.
Нельзя ли ее, как и положено при округлении до целого, сделать int ?
Почините, пожалуйста CopyTicks и CopyTicksRange
https://www.mql5.com/ru/forum/351196#comment_18277490
В 2605 тоже самое
В той ветке так и не понял, где ошибка. Приведите несколько тиков подряд и покажите, какой из них битый.
Потому что полученная целая часть может оказаться за пределами диапазона LONG_MIN - LONG_MAX
Разве это не проблема программиста, которой должен знать, что такое int ?
Уж наверное если программист пишет MathRound(x), то он знает, что делает.
И, если на то пошло, как корректно округлять, если системная функция делает это некорректно ?Разве это не проблема программиста, которой должен знать, что такое int ?
Уж наверное если программист пишет MathRound(x), то он знает, что делает.
И, если на то пошло, как корректно округлять, если системная функция делает это некорректно ?Разве это не проблема программиста, которой должен знать, что такое int ?
Уж наверное если программист пишет MathRound(x), то он знает, что делает.
И, если на то пошло, как корректно округлять, если системная функция делает это некорректно ?Приведение типов, и этот вопрос точно не сюда. Округление бывает разным и в разные стороны. И не должно менять тип переменной.
Для меня спорное исправление, если например округление используется в вычислении. Придется обратно приводить.MathRound уже исправили.
Спасибо, это хорошая новость.
Приведение типов, и этот вопрос точно не сюда. Округление бывает разным и в разные стороны. И не должно менять тип переменной.
При чем тут " менять тип переменной " ? Речь идет о присвоении целой переменной значения вещественной переменной.
Для меня спорное исправление, если например округление используется в вычислении. Придется обратно приводить.
Приведенный вами пример не показателен. Вот другой пример:
Преобразование к вещественному типу не создает проблемы. А вот наоборот - не всегда.
В той ветке так и не понял, где ошибка. Приведите несколько тиков подряд и покажите, какой из них битый.
2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.01 22:03:25, Symbol = BR-11.20, Position = 7363, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 15:44:58, Symbol = BR-11.20, Position = 11445, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:00, Symbol = BR-11.20, Position = 11446, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:00, Symbol = BR-11.20, Position = 11447, Ticks total = 223687, Ask = 0.0, Bid = 46.19 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:00, Symbol = BR-11.20, Position = 11448, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:00, Symbol = BR-11.20, Position = 11449, Ticks total = 223687, Ask = 46.23, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:00, Symbol = BR-11.20, Position = 11450, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:00, Symbol = BR-11.20, Position = 11451, Ticks total = 223687, Ask = 46.28, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:00, Symbol = BR-11.20, Position = 11452, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:00, Symbol = BR-11.20, Position = 11453, Ticks total = 223687, Ask = 0.0, Bid = 46.22 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:02, Symbol = BR-11.20, Position = 11456, Ticks total = 223687, Ask = 46.28, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:02, Symbol = BR-11.20, Position = 11457, Ticks total = 223687, Ask = 46.24, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:02, Symbol = BR-11.20, Position = 11458, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:02, Symbol = BR-11.20, Position = 11459, Ticks total = 223687, Ask = 0.0, Bid = 46.19 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:03, Symbol = BR-11.20, Position = 11460, Ticks total = 223687, Ask = 0.0, Bid = 46.2 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:05, Symbol = BR-11.20, Position = 11463, Ticks total = 223687, Ask = 46.24, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:06, Symbol = BR-11.20, Position = 11465, Ticks total = 223687, Ask = 46.24, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:06, Symbol = BR-11.20, Position = 11466, Ticks total = 223687, Ask = 46.23, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:06, Symbol = BR-11.20, Position = 11467, Ticks total = 223687, Ask = 46.24, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 16:00:07, Symbol = BR-11.20, Position = 11469, Ticks total = 223687, Ask = 46.24, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.02 22:11:35, Symbol = BR-11.20, Position = 20877, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.03 15:44:59, Symbol = BR-11.20, Position = 29203, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.03 16:00:00, Symbol = BR-11.20, Position = 29204, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.03 16:00:00, Symbol = BR-11.20, Position = 29205, Ticks total = 223687, Ask = 44.15, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.03 16:00:00, Symbol = BR-11.20, Position = 29206, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.03 16:00:00, Symbol = BR-11.20, Position = 29207, Ticks total = 223687, Ask = 0.0, Bid = 44.08 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.03 16:00:00, Symbol = BR-11.20, Position = 29208, Ticks total = 223687, Ask = 0.0, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.03 16:00:00, Symbol = BR-11.20, Position = 29209, Ticks total = 223687, Ask = 0.0, Bid = 44.09 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.03 16:00:03, Symbol = BR-11.20, Position = 29212, Ticks total = 223687, Ask = 44.1, Bid = 0.0 2020.09.16 11:16:27.970 Spread_new (BR-10.20,M1) Tick time = 2020.09.03 16:01:15, Symbol = BR-11.20, Position = 29315, Ticks total = 223687, Ask = 44.07, Bid = 0.0
MathRound уже исправили.
А когда ожидать обновления ?