Кто нибудь сталкивался с этим. В результате вычислений получил значение переменной -nan(ind).
nan это "не число"
ind - недействительное число
nan это "не число"
ind - недействительное число
Вычислял как раз числа. Видимо вышел за пределы допустимого размера числа.
Вычислял как раз числа. Видимо вышел за пределы допустимого размера числа.
https://www.mql5.com/ru/docs/basis/types/double
В конце странички есть примеры, когда может вылезти
- www.mql5.com
https://www.mql5.com/ru/docs/basis/types/double
В конце странички есть примеры, когда может вылезти
Спасибо.
есть простой способ проверить переменную double на предмет недействительного числа:
В статье по ссылке выше есть функция которая проверяет числа на действительность. Но мне это не поможет. :) Ищу где ошибка в логике, которая приводит к такому результату. Решил полностью переписать этот кусок кода.
В статье по ссылке выше есть функция которая проверяет числа на действительность. Но мне это не поможет. :) Ищу где ошибка в логике, которая приводит к такому результату. Решил полностью переписать этот кусок кода.
содержимое этой функции и есть return(x==x).
Да, я именно так и думал, что не хватило точности. Выводил отладочную информацию. В результате всех вычислений на N-ной итерации цикла число стало настолько маленькой, что привело к такому результату.
Да, я именно так и думал, что не хватило точности. Выводил отладочную информацию. В результате всех вычислений на N-ной итерации цикла число стало настолько маленькой, что привело к такому результату.
операции с "очень маленькими" числами не должны приводить к NaN кроме некоторых специально оговоренных случаев.
вообще про NaN и необходимость следования в какой-то мере стандартам, давно-давно давал заявку в СД. Получил ответ "результат операций с NaN неопределён, заявка закрыта". Поэтому чуствительную математику с той поры считаю не-mql программами.
операции с "очень маленькими" числами не должны приводить к NaN кроме некоторых специально оговоренных случаев.
вообще про NaN и необходимость следования в какой-то мере стандартам, давно-давно давал заявку в СД. Получил ответ "результат операций с NaN неопределён, заявка закрыта". Поэтому чуствительную математику с той поры считаю не-mql программами.
Не с точностью double в mql все нормально. Это уже мой косяк. Не учел особенности используемой функции. Функция график которой выглядит как гипербола от -1.0 до 1.0. Я хочу на выходе получить -1.0 и запускаю процесс подбора коэффициентов, но не учел особенности этой функции. На самом деле функция ни когда не достигает -1.0 или 1.0, а только стремится к ним. В результате получается что то типа -0.999999999999999999(9) , число превышающие максимально допустимую точность числа типа double.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Кто нибудь сталкивался с этим. В результате вычислений получил значение переменной -nan(ind).