так-то оно так.... если бы у меня не всплывали проблемы с "вашей" нормализацией, я бы велосипед не изобретал бы... а так - не могу сравнить 2 числа - например, старый СЛ с новым при модификации - результат не предсказуем. Приходится извращаться... Я не могу сказать, что мой код безупречен - сейчас как раз дорабатываю-пересматриваю, когда доделаю - скажу, остались ли ошибки..
А вопрос, вообще, заключался в загадочности числа 1.2408. Я пробовал этот скрипт с 2-мя десятками x и y - всё ок. Только этот 1.2408... Прям не знаю...
то есть, у Вас проблема именно с нашей нормализацией (NormalizeDouble) именно с числом 1.2408? что у Вас за процессор?
то есть, у Вас проблема именно с нашей нормализацией (NormalizeDouble) именно с числом 1.2408?
что у Вас за процессор?
нет, у меня проблема со своей нормализацией (_NormalizeDouble и Normalize) с числом 1.2408 (только с ним). С вашей нормализацией были проблемы в ф-ции TrailingStop(), которую я выкладывал в ветке "Сообщество экспертописателей". Хотя сейчас я начинаю подозревать, что это код кривой был =(. Сейчас переделываю...
Вы мне лучше скажите: если я сравниваю "вашей" нормализацией (double, 4) два одинаковых (только до 4-го знака) дабла на равенство, всегда ли будет адекватный результат?
Илюстрация вопроса:
int start()
{
double x = 1.2314, y = 1.23141257;
if ( NormalizeDouble( x, 4 ) == NormalizeDouble( y, 4 ) ) Print( "NormalizeDouble работает корректно!" );
}
если бы у меня не всплывали проблемы с "вашей" нормализацией, я бы велосипед не изобретал бы... а так - не могу сравнить 2 числа - например, старый СЛ с новым при модификации - результат не предсказуем. Приходится извращаться... Я не могу сказать, что мой код безупречен - сейчас как раз дорабатываю-пересматриваю, когда доделаю - скажу, остались ли ошибки..
А вопрос, вообще, заключался в загадочности числа 1.2408. Я пробовал этот скрипт с 2-мя десятками x и y - всё ок. Только этот 1.2408... Прям не знаю...
то есть, у Вас проблема именно с нашей нормализацией (NormalizeDouble) именно с числом 1.2408?
что у Вас за процессор?
что у Вас за процессор?
Вы мне лучше скажите: если я сравниваю "вашей" нормализацией (double, 4) два одинаковых (только до 4-го знака) дабла на равенство, всегда ли будет адекватный результат?
Илюстрация вопроса:
int start() { double x = 1.2314, y = 1.23141257; if ( NormalizeDouble( x, 4 ) == NormalizeDouble( y, 4 ) ) Print( "NormalizeDouble работает корректно!" ); }Как-то не догадывался раньше прямо спросить =)
будем править обратно ;)