This is a float limitation, with 8 digits needed precision, the smallest digit becomes unreliable due to the low accuracy, that is a step between 2 adjacent (distinguished) numbers which can be stored as float-s:
Allow the use of cookies to log in to the MQL5.com website.
Please enable the necessary setting in your browser, otherwise you will not be able to log in.
You are signed in. Two-factor authentication has been disabled. Set it up again and scan a new QR code, or continue with two-factor authentication disabled.
This is a float limitation, with 8 digits needed precision, the smallest digit becomes unreliable due to the low accuracy, that is a step between 2 adjacent (distinguished) numbers which can be stored as float-s:
Suggested edits with NormalizeDouble in decompress-es attached.
TickCompressor v.0.1c: totally eliminated loss of precision by using fixed-point arithemtic (int) encoding for tick prices. (idea here from fxsaber)
Round-tripping:
TickCompressor v.0.1c: totally eliminated loss of precision by using fixed-point arithemtic (int) encoding for tick prices. (idea here from fxsaber)
Thank you for the elaboration.