MT5 and speed in action - page 43

 
Renat Fatkhullin:

Downloaded your benchmark scripts + example.

  1. On local computer - empty in 10 minutes

  2. On a multi-terminal-loaded virtualized VPS host in 8 minutes

  3. On physical VPShost loaded with lots of terminals in 8 mins

Thanks, it looks cool!

Tests were done on a full-sized 2630 terminal, and the VPS work terminals are times less resource consuming and their latency is inevitably lower.

Work hosts of our VPS service were used.

I have to use WinAPI to suppress the appetite of the desktop terminal.

your VPS. If anyone else has any valid recommendations, let me know.


Dear developers, please have the ability to switch the terminal to the minimum resource consumption mode for algotrading.

 
Renat Fatkhullin:

Specify the name of the broker's server, please

This does not refer to the broker's specific server.
It refers to the choice of ping measurement in your proposed service.
That is, the map sometimes suggests distance further than the other broker's server, although for example they are both in LD4.
I won't name specific servers for comparison, just when going through these servers, noticed this peculiarity.
In general, it would be better to have a list of all locations to choose from.
But at the moment interested in AMPGlobalEU-Live and its American server.

 
fxsaber:

Thanks, it looks cool!

But I have to use WinAPI to curb the desktop Terminal's appetite.

Since Terminal often makes more fps than PC games due to very frequent upsets, the video card comes to the forefront. Especially on vpscs without cards, the entire load is put on the strangled processor.

That's why you are right to minimize and disable panels on virtual desktops.

We even cut out half of the terminal code in our service and completely removed the visualization. The terminals became executive appendages to the vpc-controller and work only with it.

Therefore the resource requirements are many times lower. All this is described in the articles about VPS service.

 
Renat Fatkhullin:

Since the terminal often has higher fps than PC games due to the need for very frequent updates, the graphics card comes to the fore. Especially on a virtual machine without cards, the entire load is placed on the CPU.

That's why you are right to minimize and disable panels on virtual desktops.

We even cut out half of the terminal code in our service and completely removed the visualization. The terminals became executive appendages to vpc-controller and work only with it.

Therefore the resource requirements are many times lower. All this is described in the articles about VPS service.

Here is another question concerning your VPS.
Are there any socket restrictions in mql program working on your server?
Is it possible to connect to OpenAPI broker independently from mql program, not MQ API.
Or is it possible to work only with the broker's account?

 
Roman:

I have another question about your VPNs.
Is there any limitation for socket operation in mql program on your VPS?
Is it allowed to connect from mql program to OpenAPI of broker, not MQ API?
Or your ops support only linked to the broker's account?

There are no restrictions on socket operations, except for localhost/127.0.0.1 accesses

The permissions set on your terminal are inherited.

 
Renat Fatkhullin:

Since the terminal often has higher fps than PC games due to the need for very frequent updates, the graphics card comes to the fore. Especially on vpscs without cards, the entire load is placed on the CPU, which is strangled.

So why not snapshot refresh at 20 Hz, thereby reducing fps? The visuals are only needed for human eyes anyway. It won't notice if it's 200 fps or 20.

So you're right to minimise and disable panels on virtualisers.

Unfortunately, you need WinAPI to do that. And still haven't learned how to close the Market Watch and Tools window. Please tell me how to do it through WinAPI.

Market Products is completely on the brakes on 3rd party VPS. No automated minimization can be done. Define chart hiding is the same. Also, there's no way to replace the slow GetMicrosecondsCount with an analogue with millisecond quantization. A crude GetTickCount with 16ms is imposed, which is too much for snapshot trading environment mechanisms.

Not for marketing your VPS service, are you limiting it like that? I guess it wasn't relevant yet. However, it has already come up with metering and some crutch solutions.

We cut out half of the terminal code in our service and completely removed the visualization. The terminals became executive appendages to vps-controller and work only with it.

Therefore the resource requirements are many times lower. All this is described in the articles about VPS service.

The desktop terminal could be made closer to algotrading, and resource consumption could be reduced through MQL capabilities.

Tell me, if I request a tick history for all symbols in Market Watch (screener), will VPS service store 128K ticks for each symbol as a cache?


No.

bool CopyTicksClearCache( const string Symbol );
so that only the latest ticks can be queried without huge resources, so as to forget about skips in OnTick.
 
Roman:

This does not refer to the broker's specific server.
It refers to the choice of ping measurement in your suggested service.
That is, the map sometimes suggests distance further than the other broker's server, although for example they are both in LD4.
I won't name specific servers for comparison, just when going through these servers, noticed this peculiarity.
In general, it would be better to have a list of all locations to choose from.
But at the moment interested in AMPGlobalEU-Live and its American server.

AMPGlobalEU-Live with MetaTrader 4 server in London on LD4 shows a ping of 1.73 ms:


But AMPGlobalEU-Live (actually it is better to look for it as AMPGlobalUSA-Live) for MetaTrader 5 with a physical platform core in Chicago actually shows 19.53 ms, as our nearest servers are in New York:

Specially scanned all their points manually - the minimum is 19 ms.

We will try to put servers in Chicago in the next few days. Haven't gotten around to it.

 
Renat Fatkhullin:

AMPGlobalEU-Live with MetaTrader 4 server in London on LD4 shows a ping of 1.73ms:


But AMPGlobalEU-Live (actually it is better to search for it as AMPGlobalUSA-Live) for MetaTrader 5 with a physical platform core in Chicago is actually 19.53 ms, as our nearest servers are in New York:

Specially scanned all their points manually - the minimum is 19 ms.

We will try to put servers in Chicago in the next few days. Haven't gotten around to it.

This I have seen everything, and also analyzed ))
If you put a server in Chicago, put it directly in Aurora, where the location of the exchange and all providers.

 

More than once I've seen situations when Terminal loads the CPU 100% so much that it doesn't react to anything.

Then I looked at the logs and saw that there were wild skips of ticks in OnTick. However, if I correctly write an EA, this disastrous situation will not affect the trading results. I analyzed it specifically, everything is clear.

I wonder how widespread mechanisms for dealing with delays in Market Products are. I've never once seen any mention of machine power to run. Minimum ping - yes.

 
fxsaber:

So why not snapshot the update at 20Hz, thereby reducing the fps? The visuals are only for human eyes anyway. It won't notice if it's 200 fps or 20.

Because a crowd of users will come running with accusations.

This is straightforward.

That said, we do in fact use small skips.


Unfortunately, we need WinAPI to do this. And we still haven't learned how to close the Market Watch and Tools window. Please tell me how to do it through WinAPI.

The MQL5 function that minimizes all windows and the application itself is a great idea. We will work out it.

However, if a person runs the terminal on VPS by himself, he will strongly object to everything abruptly minimized. He can and should minimize windows himself if he leaves the RDP session.


Market-products are completely on the brakes on third-party VPS. Automated minimization can't be done. Define chart hiding from the eyes - similarly. Also, there's no way to replace slow GetMicrosecondsCount with its millisecond quantization counterpart. A crude GetTickCount with 16ms is imposed, which is too much for the snapshot mechanisms of the trading environment.

You don't seem to understand anything.

It's not GetMicrosecondsCount that's slowing you down, it's the OS quantifying CPU resources for any thread of your strangled vpska. For any function, any action, any program inside your UPU.

Well, no CPU shell can slice and allocate resources fairly when it has 20 (that's still respectable) operating systems with 1500 threads of execution per copy. Take 8-16 cores and distribute them into 20 * 1,500 = 30,000 (thirty thousand physical tracks).


And to compare we have our VPS host with 97 active terminals: only 3 333 threads and only 205 processes - no system overhead at all


Here is my work computer now for comparison - except for browsers, one copy of MT5 and several non-cost programs there is nothing else: 3 876 threads are active



It turns out that a VPS host with a bunch of terminals runs more economically than a desktop. The VPS has 8 cores and the desktop has 128.
Reason: