RatesCompressor

1 Views
0 Downloads
0 Favorites
RatesCompressor
//+------------------------------------------------------------------+
//|                                              RatesCompressor.mq5 |
//|                                    Copyright (c) 2020, Marketeer |
//|                                        Modified by Dark Ryd3r    |
//|                                    https://twitter.com/DarkRyd3r |
//+------------------------------------------------------------------+

#include <RatesCompressor.mqh>

#define PRT(A) Print(#A, " ", (A))

void OnStart()
{
  PRT(sizeof(MqlRates));
  PRT(sizeof(MqlRatesOHLC));

  // 1-element arrays are used for pretty-printing via ArrayPrint
  
  MqlRates rates[1];
  int data = CopyRates(_Symbol,PERIOD_M1,0,1,rates); 
  ArrayPrint(rates);


    MqlRatesOHLC rohlc[1];
    RatesCompressor::compress(rates, rohlc); // array notation
    // other way for a single tick can be used as well
    // rohlc[0] = MqlRatesOHLC::compress(rates[0]);
    ArrayPrint(rohlc);
  
    MqlRates result[1];
    result[0] = MqlRatesOHLC::decompress(rohlc[0]); // single tick notation
    // other way for arrays can be used as well
    // RatesCompressor::decompress(rohlc, result);
    
    ArrayPrint(result);

}

Comments