OnTick vs OnTimer for a multi EA system

 
My current set up are EAs that uses OnTick to stream quotes to a python app which makes trading decision at 0.5s frequency, and another EA that places trades on MT5. So I have multiple “quote only” EAs attached to each chart I cared about and one “trade only” EA that executes trading decisions made by an external python app.

My question is: is there any way to meaningfully improve this architecture? Considering the python app only evaluates every 0.5s, should I consider changing OnTick to some other solution? Thanks in advance.
 
Terence C:
My current set up are EAs that uses OnTick to stream quotes to a python app which makes trading decision at 0.5s frequency, and another EA that places trades on MT5. So I have multiple “quote only” EAs attached to each chart I cared about and one “trade only” EA that executes trading decisions made by an external python app.

My question is: is there any way to meaningfully improve this architecture? Considering the python app only evaluates every 0.5s, should I consider changing OnTick to some other solution? Thanks in advance.
It depends on the complexity of your EA codes, the number of total EA's that you run, and your hardware capability. Generally, OnTick() is more efficient because it waits for an actual tick to arrive but can also receive a tick in less than 500 milliseconds. With OnTimer(), your EA's would be waiting 500 milliseconds even where 10 ticks arrived in 30 milliseconds. As you have a fixed limit of 500 milliseconds in the Python logic, I doubt that you would notice any difference between the two.