Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
неправильное округление может быть, если округляемое число получилось с хвостом, для этого перед округлением нужно делать нормализацию до нужной точности
да ну понятное дело что нормализация нужна. кто ж говорит что я ее не делал :-)
и конечно же данные получались с хвостом, из-за этого Mathfloor срабатывал "не туда" куда нужно.
да ну понятное дело что нормализация нужна. кто ж говорит что я ее не делал :-)
и конечно же данные получались с хвостом, из-за этого Mathfloor срабатывал "не туда" куда нужно.
у вас в коде нет нормализации перед округлением)
везде есть, но в конце вы округляете число ненормализированное
у вас в коде нет нормализации перед округлением)
везде есть, но в конце вы округляете число ненормализированное
я перепробовал сотни вариантов кода, сюда выкинул один из вариантов, но как оказалось, проблема скорее было не в округлении - а в выводе данных в принт и комментарий.
да ну понятное дело что нормализация нужна.
Нормализация - дорогая операция и для этой задачи же NormalizeDouble и MathFloor не нужны совсем.
нужны, и я думаю, что нужно добавить в Справочник рекомендацию к операциям MathFloor и MathCeil - "рекомендуем нормализировать значения перед выполнением округления"
пс. сам как-то наткнулся на эту особенность.
нужны, и я думаю, что нужно добавить в Справочник рекомендацию к операциям MathFloor и MathCeil - "рекомендуем нормализировать значения перед выполнением округления"
пс. сам как-то наткнулся на эту особенность.
то что нужно нормализовать все значения это я наткнулся очень давно, и это и понятно.
но даже нормализация не дает того результата которого ожидаешь.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Double vs FLOAT - непонятная ошибка MathFloor
fxsaber, 2017.02.26 08:53
int DoubleToInt( const double Num )
{
return((int)(Num + ALPHA));
}
void OnStart()
{
double NewPrice = DoubleToInt((Ask + Bid) / (2 * Point)) * Point;
Print(NewPrice);
}
Тогда почему это работает без нормализации и MathFloor?
Ведь MathFloor я использовал именно для этого.
Оно отвечает требованиям что если спред нечетный то цена должна быть ближе к бид?