Аномалия WLD
Второй раз натыкаюсь на проблему с расчётом цены в программе WLD. Может кто встречал такую проблему и подскажет как её решить.
К примеру: есть часовая свеча индекса РТС:
Open: 740,94
High: 742,33
Low: 740,59
Close: 732,67
Подключаю эти данные через файл MS к WLD4.
И в WLD она отражается, уже следующим образом:
Open: 740,940002441406
High: 742,330017089844
Low: 740,590026855469
Close: 732,679992675781
Проверяю исходняк, не каких изменений, все данные только в пределах сотых.
Вопрос:
1. каким образом WLD округляет до триллионных (откуда он эти цифры берёт, точней что прибавляет)?
2. Как его заставить @#High[Bar] (цены) выводить как есть в сотых, да в настройках есть смещение, но это смещение для графика!
112
Читайте на SMART-LAB:
Чем зимнее поведение рубля отличается от летнего?
Предыдущий локальный максимум укрепления рубль ставил в июне-июле, теперь – в декабре. Оба раза он откатился. Если смотреть на его пару с...
CAD/JPY: Готовы ли медведи крупно рискнуть?
Валютная пара CAD/JPY повторно (в третий раз) протестировала пробитую линию восходящего тренда (построенного по точкам 1 и 2), а также верхнюю...
Итоги недели на рынках сырьевых товаров
Если вас интересуют другие аналитические и информационные материалы от банка АО АКБ «ЦентроКредит», смотрите их на нашем сайте в...
Open: 740,94
High: 742,33
Low: 740,59
Close: 732,67
не каких триллионных нет, это в самом WLD меняеться, а вот как — вот это вопрос!
Используйте дебарг: print('High: '+ FloatToStr( @#High[Bar]));
Считается все корректно, переносится в С# и там все норм. Все сделки (вход/выход) робота на С# и WLD совпадают.
Если же пытаться вывести Open через print, то надо понимать, что это тип double и нужно указывать формат вывода.
High: 1152.31005859375
High: 1154.80004882813
High: 1156.48999023438
полистай ветку по Вэлсу..
При случае попробую спросит у ребят которые более продвинуты в нём
High := StrToFloat(FormatFloat('#,##0.00',@#High[Bar])) — StrToFloat(FormatFloat('#,##0.00',@#High[Bar-1]))
High = 0,0600128173828125