CBitBuffer/TicksShort_VLQ/TicksShort_SaveLoad.mq5
amrali 462e1d2b2c
2025-10-08 02:04:17 +03:00

29 lines
2 KiB
MQL5

#property script_show_inputs
input datetime inFrom = D'2024.12.01';
//#include "TicksShort.mqh" // Короткий формат хранения тиков.
#include "TicksShortLite.mqh"
void OnStart()
{
MqlTick Ticks[]; // Для исходных тиков.
if (CopyTicksRange(_Symbol, Ticks, COPY_TICKS_ALL,(ulong)inFrom * 1000) > 0)
{
FileSave("Ticks.bin", Ticks); // Сохранили обычные тики, чтобы можно было сравнить размеры файлов.
TICKS_SHORT::Save("TicksShort.bin", Ticks); // Сохранили тики в сжатом формате.
MqlTick Ticks2[]; // Для разжатых тиков.
TICKS_SHORT::Load("TicksShort.bin", Ticks2); // Загрузили тики из сжатого формата.
Print("Ratio = " + DoubleToString((double)FileGetInteger("Ticks.bin", FILE_SIZE) /
FileGetInteger("TicksShort.bin", FILE_SIZE), 3));
Print("Correct = " + (string)TICKS_SHORT::IsEqual(Ticks, Ticks2)); // Сравнили.
}
}
// TicksShort_SaveLoad (EURUSD,D1) Ratio = 15.048
// TicksShort_SaveLoad (EURUSD,D1) Correct = true