Open Igor-san opened 5 months ago
Забавно, 10 лет назад у Газпрома столько акций наверное не было. Что за инструмент, позвольте узнать? Да, long абсолютно верное решение, но раньше и подумать о таких объёмах нельзя было. Крипта?
А, сорри, LQDT... Не знаю детали.
Но в целом "оптимизации" типа int меньше long не имеют смысла, можно заменить на long всё, где имеет смысл. Например если бы торговали Эфиром через Wei как единицу измерения. Вообще можно сразу decimal, чтобы реально wei поддерживать и быть future-proof.
@Pr0phet1c Привет!
Давно я тут ничего не видел и тем более не писал... Я думаю decimal реально хороший вариант для всех числовых значений. Производельность не важна на таком уровне. С decimal все косяки будут за пределами библиотеки. Это самый широкий тип без потери точности в dotnet. ВВП мира можно записать в decimal в корейских вонах много раз неверное.
@buybackoff привет. Тут ничего сильно важного и не происходило. В основном мелкие обновления. на счет decimal, скорее всего ты прав. Но это может оказаться breaking changes. Может стоит ограничиться только параметром Volume пока? Это конечно тоже многим может "поломать" работоспособность, но исправлять тип данных для одного параметра все же значительно проще, чем всего подряд
Может стоит ограничиться только параметром Volume пока?
Да, по мере надобности. Из моего текста наврное могло показаться, что я предлагал всё заменить. Нет, только там, где есть проблемы.
breaking changes
Простой cast в int не так уж и сложно.
Выбор не большой: или long, или decimal; или double. Decimal вмещает в себя long: это int96 + scale. Double не точный. Decimal лучше всего.
Столкнулся тут с LQDT: Could not convert to integer: 2595916425. Path 'data[2460].volume', line 1, position 542940
В Candle пришлось ставить public long Volume { get; set; }