Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Некоторые числа можно представить только в виде бесконечной дроби, например, 1/3 в десятичной системе. Но 1/3 имеет не является бесконечной дробью в третичной системе, там она == 0,1. Т.е. в разных системах счисления свои бесконечные дроби. Следовательно, небесконечная дробь в десятичной может быть таковой в двоичной. Например: 0.1, 0.2, 0.3, 0.4, ... не имеют точного представления в двоичном виде. Хоть десять раз вызовите NormalizeDouble, там будет либо 0.199999999..1, либо 0.200000...1. Не знаю, может является новостью.
Истину глаголите!. Уточню, ND нужен ТОЛЬКО для сравнения, не представления. И давно устарел.
Некоторые числа можно представить только в виде бесконечной дроби, например, 1/3 в десятичной системе. Но 1/3 имеет не является бесконечной дробью в третичной системе, там она == 0,1. Т.е. в разных системах счисления свои бесконечные дроби. Следовательно, небесконечная дробь в десятичной может быть таковой в двоичной. Например: 0.1, 0.2, 0.3, 0.4, ... не имеют точного представления в двоичном виде. Хоть десять раз вызовите NormalizeDouble, там будет либо 0.199999999..1, либо 0.200000...1. Не знаю, может является новостью.
это я помню но ведь в данном случае имеется 0+0 а получается не 0
это я помню но ведь в данном случае имеется 0+0 а получается не 0
Истину глаголите!. Уточню, ND нужен ТОЛЬКО для сравнения, не представления. И давно устарел.
NormalizeDouble нужен только для нормализации цены при выставлении отложенных ордеров и стопов. И больше ни для чего.
Об этом явно сказано в документации
Рассчитываемые значения StopLoss, TakeProfit, а также значения цены открытия отложенных ордеров, должны быть нормализованы с точностью, значение которой можно получить функцией Digits().
В каком данном случае? Приведите пример, когда у вас так получается.
такое случается когда в переменной был 0 и к ней прибавляется 0
(подозреваю что на самом деле там не 0)
NormalizeDouble нужен только для нормализации цены при выставлении отложенных ордеров и стопов. И больше ни для чего.
Об этом явно сказано в документации
такое случается когда в переменной был 0 и к ней прибавляется 0
(подозреваю что на самом деле там не 0)
Именно. "Настоящие" нули при сложении-вычитании нулями и остаются. Потому и предложил вам пример привести.
а как же сравнение вещественных чисел...
Сопутствующий побочный эффект.
Оказалось удобно. Но на такое использование изначально не рассчитывали
Для вывода вещественного числа на печать с нужной точностью есть специальные функции.
Скажите, зачем нужно округлять вещественные числа в процессе вычислений? Ведь в этом случае теряется точность вычислений!
Именно. "Настоящие" нули при сложении-вычитании нулями и остаются. Потому и предложил вам пример привести.
NormalizeDouble нужен только для нормализации цены при выставлении отложенных ордеров и стопов. И больше ни для чего.
Об этом явно сказано в документации
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Альтернативные реализации стандартных функций/подходов
Renat Fatkhullin, 2016.09.02 00:55
Так перегружать нельзя. Одинаковые сигнатуры функций.
Но мысль понятна - функция нормализации с учетом грануляции тика.