Commit-Graph mql5-tick-compression/MQL5/Scripts/Tkz
Autor SHA1 Nachricht Datum
Claude Claude
9643bc4198 Move large lookup tables to the heap, tidy MQL5 typing
Stretch, squash and rate tables become dynamic arrays so codec objects
stay small on the MQL5 stack; initialise variables the MQL5 compiler
cannot prove assigned and keep ternary branches the same type. Output
is byte-identical.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:25:46 -08:00
Claude Claude
5409a8d316 Use a squash lookup table, add golden-output self-test
The hot path now reads Squash() from a precomputed table (byte-identical
output). The self-test encodes a deterministic data set and compares
size and FNV-1a hash with the reference C++ build, which catches any
MQL5 compiler difference that would make archives non-portable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:21:50 -08:00
Claude Claude
eab93a6655 Add MetaTrader scripts and in-terminal self-test
TkzExport writes the tick history of a symbol into a .tkz archive
(day/week/month chunks, optional per-chunk verification), TkzVerify
decodes an archive and compares it with the terminal history,
TkzToCustom loads an archive into a custom symbol, and TkzSelfTest runs
CTkzSelfTest (synthetic edge cases, real ticks, archive I/O). The
self-test class is also compiled and run by the C++ harness.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 16:16:49 -08:00