MT5와 속도 - 페이지 82

 
fxsaber :

이해가 안되는 글에는 답글을 달지 않겠습니다.

너무 게으른, 설명하기 긴, 취소

 
fxsaber :

글자 수를 늘리면 메모리 과소비 문제도 눈에 띈다.

증가했습니다.

 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
 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MT5와 속도

Dzmitry Manannikov , 2021.02.05 14:50

증가했습니다.

 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 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MT5와 속도

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
고맙습니다. 함께하면 더욱 좋습니다. 마지막 진드기를 떼고 아무도 야생 진드기의 역사에 들어가지 않았을 때 소비가 어떻게 증가했는지 분명히 알 수 있습니다.
 
내 시험
 
Konstantin Aleksandrov :
내 시험

감사합니다. CopyTicks를 사용하면 구성이 매우 개탄스럽습니다. 각 요청에는 0.5초가 걸립니다.

 
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는 여기에서 많은 어려움을 겪습니다. 따라서 메모리를 희생해야 하지만 모든 곳에서 Range를 사용합니다.
 

뭔가 이해가 안가네요. 이것이 제로 핑에서 지연 설정이 일어나는 방식입니다.

필요한 경우 PM에 로그를 던질 수 있습니다. OnTradeTransaction이 많이 느려지는 것으로 나타났습니다. 어떻게 고치는 지?


그런 기계.


1.5ms의 스태킹이 발생합니다. 그러나 가치의 확산은 치명적입니다. 필요한 경우 LAN에 전체 로그를 제공할 준비가 되어 있음을 반복합니다. 데모가 아닌 배틀 계정.

 
fxsaber :

OnTradeTransaction이 크게 느려집니다. 어떻게 고치는 지?

브로커에서 서버 로그를 요청했습니다. 모든 것이 0.3ms 안에 발생합니다.

실제로 터미널은 자체 대기열에서 질식하고 있습니다. 그리고 아무것도 하지 마세요!


추신: ping이 1/100밀리초인 다른 더 강력한 시스템의 로그를 보았습니다. 하나의 터미널만 실행 중입니다. 상황은 비슷합니다. 지연 설정에 50ms! 방금 거래 활동을 올렸고 모든 것이 무너졌습니다.


ZYY Linux로의 전환이 도움이 됩니까?

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

브로커에서 서버 로그를 요청했습니다. 모든 것이 0.3ms 안에 발생합니다.

실제로 터미널은 자체 대기열에서 질식하고 있습니다. 그리고 아무것도 하지 마세요!


추신: ping이 1/100밀리초인 다른 더 강력한 시스템의 로그를 보았습니다. 하나의 터미널만 실행 중입니다. 상황은 비슷합니다. 딜레이 설정에 50ms! 방금 거래 활동을 올렸고 모든 것이 무너졌습니다.


ZYY Linux로의 전환이 도움이 됩니까?

Linux에서 주문 속도를 측정했는데 동일

같은 장소에서 ping 94와 함께 97-98ms에 대한 제한이 있습니다.

 
fxsaber :

브로커에서 서버 로그를 요청했습니다. 모든 것이 0.3ms 안에 발생합니다.

실제로 터미널은 자체 대기열에서 질식하고 있습니다. 그리고 아무것도 하지 마세요!


추신: ping이 1/100밀리초인 다른 더 강력한 시스템의 로그를 보았습니다. 하나의 터미널만 실행 중입니다. 상황은 비슷합니다. 지연 설정에 50ms! 방금 거래 활동을 올렸고 모든 것이 무너졌습니다.


ZYY Linux로의 전환이 도움이 됩니까?

제 생각에는 와인 6.0.0 Ubuntu 18.04 xfce에서 MT5 2755가 WinXP에서 MT5 1755보다 느려집니다.

둘 다 Debian 10 Buster(i5-2500K, 32GB, ssd RAID-1)의 kvm 가상 머신입니다.