historical data calculation indicator with huge delay.

 
Hallo, guys!

I ordered an indicator mt4 that uses historical data. Generally the idea was 
for each time frame to make some historical data analysis and then to draw several lines based on that analysis. Actually the indicator crashed my mt4 when I tried to use it on only 2 pairs. The delay was really huge. I intended to analyse last 1500 records of each time frame. I still cant imagine that a computer with eightcore processor intel  3.4 ghz, 16gb ram can't handle this calculations immediatelly. 
Ok, I am not a developer and probably this is some limitation of the platform.
Here is my question. If mt4 and mt5 do not support multicore calcs

is it possible to use my provider's ip to obtain data from him, then to make calculation on my multicore and finally to send the data to mt4?

Will this speed up the indicator? 


Probably you think I am crazy, but I am loking for solution.
Thank you in advance.
 
You need your indicator to be coded correctly. There is no problem for such things with the platform.
 
Mt4 runs on a single core.  And what you want can be done. You will write an external program to make the calxulations on multiple cores and then parse the data.  
This will result in some delay also.
I think you need to optimize your code.  unless its a very heavy calculation
 

Strictly speaking, as a platform (especially, as a platform operating real money) MT should be robust enough to not crash under any MQL calculations: even if you ask too much resources - memory or CPU - the platform should show a "user-friendly" error and stop execution. Only one reason when MT crash can be excusable is if you use external DLLs in your MQL. If it's not the case, you may try to post your example to the service desk.

I wrote many indicators which analyzes multiple symbols (or multiple sub-indicators) on a predefined number of bars larger than mentioned 1500 and never saw crashes. There can be delays at MT startup if I have many such indicators on open charts - this is indeed so, but this is a reasonable behaviour. I think you should revise your code.

Reason: