forked from amrali/CBitBuffer
		
	
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			MQL5
		
	
	
	
	
	
			
		
		
	
	
			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
 |