MT5 For those who care about speed. - page 12

 
shelandr:

I don't understand the question...EA handles every tick. Ticks are usually 2-3 per minute, on price movements the frequency increases to something like 200 per minute - or 4-5 per second (do not think that I translated incorrectly in minutes into seconds - there is another relationship). I don't know if I'm wrong about the minute or second - it's more accurate, I can control CPU load visually, except for synchronous trade operations that inevitably slow down the process and probably block ticks incoming.

Well, let it be known that neither EA nor script can block ticks entering the terminal. But what am I saying - go ahead and dumb down.
 
TheXpert:
Let it be known that neither EAs nor scripts can block ticks coming into the terminal.

I didn't say they were blocking...just physically the modem-network card ports, unless they are gigabit, can't pass everything. Internet traffic is unpredictable too.

But synchronous trading operations are blocked... learn the math.

Indicators, they do not block - they work in the flow. But scripts and Expert Advisors slow down. (There is one in MT4 documentation.

 
shelandr:

I think if I increase channel bandwidth the max frequencies will also increase... I probably don't have time to receive all ticks...

Forum on trading, automated trading systems and strategy testing

MT5 For those who care about speed.

shelandr, 2013.07.02 08:24

I have a good idea to use my trading robot, I cannot trade robot yet, I cannot go back to the trading robot, I just do not want to use my trading robot as a reference, I have to learn how to trade robot, and I do not want to change the market.

Maybe you should do it instead of asking the same thing 10 times.
 
papaklass:

To clarify.

1. Memorise the start time of the expert on the next tick.

2. When Expert Advisor has worked a tick, subtract from the current time the time you memorized at the beginning.

If the difference is more than 6 ms, it means that it is not the channel that slows down the EA, but your EA cannot cope with the speed of the channel.

I have such counter in MT5 - it shows 0 ms. There is no milliseconds in MT4. I also measure the inertial between ticks, it sometimes displays 3000 ms.

I also need to measure the terminal's uptime, it works too. But 6 ms has nothing to do with it-exchange with the server is in a different timing and depends on the length of the packet, which can vary... The same, they do not know whether they have formed trades and information about positions, orders, etc. in a separate package or added to the tick packet (I disclosed it in the beginning).

I looked closer now and sometimes Work = 16 ms. Although the market is calm. The interval is about 500 msec.

 
sion:
Maybe you should do that instead of asking the same thing 10 times.
I do that too. Besides, it's not like I'm asking, I'm answering or -communicating.
 
papaklass:

You can easily check the speed of the internet kalala using the same method.

You need to remember the time before OrderSend(); and compare it with the time after the order ticket is received.

The function GetTickCount() will help you to measure milliseconds.

Now I look more carefully. Sometimes Work = 16 ms. Although the market is calm. The interval is about 500 ms.

Although there are no trades.

Now I tried a trade operation to close a position showed 36 ms.

And now the idle showed 64 ms. What could it mean, such a spread.

 
shelandr:

I have now looked more closely and sometimes Work = 16ms slips through. Although the market is calm. The interval is about 500 ms.

Although there are no trades.

Now I tried a trade operation to close a position showed 36 ms.

And now the idle showed 64 ms. What could it mean, such a variation.

Accuracy of time measurement through GetTickCount is within 16 ms.

So, you can't trust the timing within 32 ms. With real times ranging from 0 to 31 ms, the GetTickCount responses may be rounded to 0 or 16 more often.

 
shelandr:
That's what I do too. Besides, it's not like I'm asking but answering or -communicating.
Well, if you answer, I wonder what you mean by "maximum frequencies will increase...", especially the dependence of these frequencies on channel speed...?
 
Renat:

The accuracy of the GetTickCount time measurement is within 16 ms.

That is, measurements within 32 ms cannot be trusted. With real time between 0 and 31 ms, responses from GetTickCount may often be rounded to 0 or 16.

Thank you... I understand the problem... I have it in Expert Advisor:finish =GetTickCount();
So there's nothing to measure. Because I'm wondering why I've got 0 - I don't need to measure in microseconds...
 
shelandr:
Also, it's not like I'm asking, I'm answering or -communicating.

no offence

but your answers go something like this.