Collect Symbols Last Tick Prices in Multicurrency EA


I wish to find the most efficient way to perform this in MT5.

The way I am looking is to check every  x seconds(eg 5) and record the prices of every symbol I selected from a single chart EA.

The problems with that are obvious. 
- I will miss any ticks that occurred during those x seconds in each symbol
- 5 seconds updates may overload the platform 
Any suggestions welcome .

string SymbolsArray[]={"EURUSD","USDJPY","USDCAD"};
double TicksArray[];


Void OnTimer()
                 for(int i=0; i<ArraySize(SymbolsArray); i++)