MT5 and speed in action - page 82

 
fxsaber:

I will not respond to posts whose meaning I do not understand.

Lazy, long description, cancellation

 
fxsaber:

If you increase the number of characters, you will also see the problem of inflated memory consumption.

Increased.

2021.02.05 16:48:47.862 CopyTicks_bug024 (EURUSD,D1)    Benchmark.mqh: TimeAvg[GetMicrosecondsCount()] = 0 mcs.
2021.02.05 16:48:47.862 CopyTicks_bug024 (EURUSD,D1)    Benchmark.mqh is On.
2021.02.05 16:48:49.052 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 183617 mcs.
2021.02.05 16:48:49.052 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 128 mcs.
2021.02.05 16:48:50.018 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 164117 mcs.
2021.02.05 16:48:50.018 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 119 mcs.
2021.02.05 16:48:50.995 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 142599 mcs.
2021.02.05 16:48:50.995 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 120 mcs.
2021.02.05 16:48:51.874 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 8822 mcs.
2021.02.05 16:48:51.874 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 71 mcs.
2021.02.05 16:48:53.047 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 192544 mcs.
2021.02.05 16:48:53.047 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 176 mcs.
2021.02.05 16:48:54.097 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 236094 mcs.
2021.02.05 16:48:54.097 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 130 mcs.
2021.02.05 16:48:55.078 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 225878 mcs.
2021.02.05 16:48:55.078 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 128 mcs.
2021.02.05 16:48:55.877 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 27860 mcs.
2021.02.05 16:48:55.877 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 90 mcs.
2021.02.05 16:48:56.884 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 37563 mcs.
2021.02.05 16:48:56.885 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 104 mcs.
2021.02.05 16:48:57.901 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 35817 mcs.
2021.02.05 16:48:57.901 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 92 mcs.
2021.02.05 16:48:58.913 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 584 in OnTimer: CopyTicks_Test()] = 50650 mcs.
2021.02.05 16:48:58.913 CopyTicks_bug024 (EURUSD,D1)    Alert: Bench_Stack = 0, 1 <= Time[CopyTicks_bug024.mq5 585 in OnTimer: CopyTicksRange_Test()] = 121 mcs.
2021.02.05 16:48:58.913 CopyTicks_bug024 (EURUSD,D1)    ExpertRemove() function called
2021.02.05 16:48:58.913 CopyTicks_bug024 (EURUSD,D1)    SymbolsTotal(true) = 61
2021.02.05 16:48:58.935 CopyTicks_bug024 (EURUSD,D1)    TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1476
 

Forum on trading, automated trading systems and trading strategy testing

MT5 and Speed in Action

Dzmitry Manannikov, 2021.02.05 14:50

Increased.

2021.02.05 16:48:58.913 CopyTicks_bug024 (EURUSD,D1)    SymbolsTotal(true) = 61
2021.02.05 16:48:58.935 CopyTicks_bug024 (EURUSD,D1)    TerminalInfoInteger(TERMINAL_MEMORY_USED) = 1476

Forum on trading, automated trading systems and trading strategies testing

MT5 and Speed in Action

Dzmitry Manannikov, 2021.02.05 14:38

2021.02.05 16:23:17.921 CopyTicks_bug024 (EURUSD,D1)    SymbolsTotal(true) = 3
2021.02.05 16:23:17.929 CopyTicks_bug024 (EURUSD,D1)    TerminalInfoInteger(TERMINAL_MEMORY_USED) = 657
Thank you. It's even better together. It's good to see how consumption has increased, when just taking the last ticks and no one gets into the maze of tick history.
 
my test
 
Konstantin Aleksandrov:
my test

Thanks, on your configuration it's quite deplorable with CopyTicks - each request takes half a second.

 
Benchmark.mqh: TimeAvg[GetMicrosecondsCount()] = 0 mcs.
Benchmark.mqh is On.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 18203515 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 153 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 510201 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 157 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 463460 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 148 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 463374 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 150 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 457153 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 174 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 491020 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 168 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 491319 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 151 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 474759 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 149 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 468541 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 149 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 465631 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 154 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 63 in OnTimer: CopyTicks_Test()] = 486809 mcs.
Alert: Bench_Stack = 0, 1 <= Time[xxx.mq5 64 in OnTimer: CopyTicksRange_Test()] = 153 mcs.
ExpertRemove() function called
SymbolsTotal(true) = 47
TerminalInfoInteger(TERMINAL_MEMORY_USED) = 897
CopyTicks suffers a lot here, yes. That's why I use Range everywhere, even though I have to sacrifice memory.
 

I must be missing something. This is how the pings are set with a zero ping.

If you need, I can send you a log to PM. It turns out that OnTradeTransaction is very slow. How to fix it?


Such a machine.


I can get it down to 1.5 ms. But the range of values is disastrous. I repeat, if I need it, I'm ready to provide the full log to the PM. Live account, not demo.

 
fxsaber:

OnTradeTransaction is very slow. How can I fix it?

Requested server logs from broker. Everything happens there in 0.3 ms.

It turns out that indeed the Terminal is choking on its own queues. And there's nothing to do!


HZZ looked at the logs from another more powerful machine, where the ping is a hundredth of a millisecond. I have only one terminal running. The situation is the same. It took me 50 ms to place a pending order! I`ve just raised my trading activity and it all went down the drain.


SZY Can migration to Linux help?

Косяки терминала в Linux
Косяки терминала в Linux
  • 2021.02.13
  • www.mql5.com
Добрый вечер. У меня терминал запущен под вайном в Linux (OpenSuse). На данный момент, всё работает корректно, но я наблюдаю некоторые неудобства...
 
fxsaber:

Queried the server logs from the broker. There in 0.3 ms everything happens.

It turns out that, indeed, the terminal is choking on its own queues. And there's nothing to do!


HZZ looked at the logs from another more powerful machine, where the ping is a hundredth of a millisecond. I have only one terminal running. The situation is the same. It took me 50 ms to place a pending order! I`ve just raised my trading activity and it all went down the drain.


SZY Can migration to Linux help?

I have measured the order speed on linux, it's the same.

my limits go 97-98 ms at 94 pings, same spot.

 
fxsaber:

Queried the server logs from the broker. There in 0.3 ms everything happens.

It turns out that, indeed, the terminal is choking on its own queues. And there's nothing to do!


HZZ looked at the logs from another more powerful machine, where the ping is a hundredth of a millisecond. I have only one terminal running. The situation is the same. It took me 50 ms to place a pending order! I`ve just raised my trading activity and it all went down the drain.


SZY Can migration to Linux help?

My feeling is that MT5 2755 under wine 6.0.0 Ubuntu 18.04 xfce is more slow than MT5 1755 under WinXP.

Both are kvm virtualis in Debian 10 Buster ( i5-2500K, 32GB, ssd RAID-1).