MT5 e velocidade em ação - página 41

 
A100:

E o fato de eu ser lento é confirmado pelo fato de que mesmo isto não joga para mais ninguém:

Agora eu tentei - também não está jogando para mim. Talvez o princípio dos cálculos no gráfico semanal e mensal com histórico profundo tenha mudado e os atrasos tenham desaparecido por si mesmos

 
fxsaber:

Sim, é por isso que eu uso esta condição em mqh.

no primeiro cheque mata os outros 4 cheques. é melhor usar |||| então, os subseqüentes serão ignorados em caso de atraso.

 
Andrei Trukhanovich:

no primeiro cheque mata os outros 4 cheques. é melhor usar |||| então, os subseqüentes serão ignorados em caso de lentidão.

É assim que deve ser. Se a GetMicrosecondsCount é lenta, ela é sempre lenta.

 
fxsaber:

Por favor, compartilhe os resultados da execução deste EA a partir de seu VPS (não de sua máquina de casa).

Não realmente um VPS, mas uma máquina virtual sobre hardware alugado:

2020.09.29 00:11:11.350 Terminal        MetaTrader 5 x64 build 2615 started for MetaQuotes Software Corp.
2020.09.29 00:11:11.352 Terminal        Windows 7 Service Pack 1 build 7601 on Virtual Box, Intel Core i7-4770  @ 3.40 GHz, 14 / 15 Gb memory, 4 / 31 Gb disk, IE 11, Admin, GMT+2
2020.10.05 11:11:25.340 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:11:31.308 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:12:34.699 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 3 mсs.
2020.10.05 11:13:04.388 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:13:58.116 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:14:08.388 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:14:14.975 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:14:19.095 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:15:28.814 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:15:55.814 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:15:56.814 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:16:27.818 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 9 mсs.
2020.10.05 11:16:35.275 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:16:45.775 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 27 mсs.
2020.10.05 11:16:51.715 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
2020.10.05 11:17:30.477 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 5 mсs.
2020.10.05 11:18:25.081 test (GBPUSD,M15)       Alert: Time[test.mq5 7 in OnTimer: GetMicrosecondCount()] = 2 mсs.
 
Andrey Khatimlianskii:

Não realmente uma UPU, mas uma máquina virtual sobre hardware alugado:

Obrigado. Sua máquina parece ter freios fracos. Você precisaria mudar a condição FreezeVPS para uma condição adequada para que tal configuração não seja considerada lenta.

 
fxsaber:

Por favor, compartilhe os resultados da execução deste EA a partir de seu VPS (não de sua máquina de casa).

2020.10.05 12:58:15.715 Terminal        MetaTrader 5 x64 build 2629 started for MetaQuotes Software Corp.
2020.10.05 12:58:15.717 Terminal        Windows Server 2019 build 17763 on Hyper-V, Intel Xeon  E5-2676 v3 @ 2.40 GHz, 0 / 0 Gb memory, 15 / 29 Gb disk, IE 11, RDP, UAC, Admin, GMT+0
2020.10.05 13:03:46.523 Test (EURUSD,M1)        Alert: Time[Test.mq5 15 in OnTimer: GetMicrosecondCount()] = 3 mcs.
2020.10.05 13:04:34.594 Test (EURUSD,M1)        Alert: Time[Test.mq5 15 in OnTimer: GetMicrosecondCount()] = 4 mcs.

Apenas desistiu duas vezes e depois se foi, não voltará a funcionar.
Eu não sei como interpretar isso.


E em uma máquina virtual local, esta

2020.10.05 16:52:50.149 Terminal        Windows 10 build 14393 on VirtualBox, Intel Core i7-3770 K  @ 3.50 GHz, 4 / 5 Gb memory, 244 / 299 Gb disk, IE 11, Admin, GMT+3
2020.10.05 16:58:12.631 Test (MNQZ20,M1)        Alert: Benchmark.mqh: FreezeVPS - https://www.mql5.com/ru/forum/342090/page40#comment_18579094
 
fxsaber:

Por favor, compartilhe os resultados da execução deste EA a partir de seu VPS (não de sua máquina de casa).

2020.10.05 16:13:31.939 Test VPS (EURUSD,H1)    Alert: Benchmark.mqh: FreezeVPS - https://www.mql5.com/ru/forum/342090/page40#comment_18579094
2020.10.05 16:13:05.359 Terminal        RoboForex - MetaTrader 5 x64 build 2615 started for RoboMarkets Ltd
2020.10.05 16:13:05.360 Terminal        Windows Server 2012 R2 build 9600, QEMU Virtual  version (cpu64-rhel6), 0 / 0 Gb memory, 3 / 19 Gb disk, IE 11, RDP, UAC, Admin, GMT+3

1 núcleo, 1GB de RAM.

Não são mostrados os horários. Eu não investiguei o código, eu o compilei como está.

 
Roman:
Edgar Akhmadeev:

Não foram mostrados os horários. Eu não investiguei o código, eu compilei como está.

Obrigado pela informação. Em Benchmark.mqh a linha superior deve ser descomentada e a linha inferior ao contrário. Para que fosse assim.

static const bool BENCHMARK::IsNotFreezeVPS = true; // Насильно заставляем замерять, даже если есть тормоза.
// static const bool BENCHMARK::IsNotFreezeVPS = !BENCHMARK::IsFreezeVPS();

Então a medição funcionará. Agora temos uma proteção, que se "freios" forem detectados, então não se mede.

 
fxsaber:

Obrigado pela informação. Em Benchmark.mqh você precisa descomentar a linha superior e inverter a linha inferior. Para que seja assim.

Então a medição funcionará. Agora existe uma proteção, que se você encontrar "freios", então não meça.

Obrigado pelo lote. Sim, a LAN alerta com muita freqüência.
Agora eu entendo como interpretar isso.

 
fxsaber:

A condição FreezeVPS terá que ser mudada para uma condição adequada para que não seja considerada um gargalo de estrangulamento.

Com base nas medidas postadas, eu fiz os ajustes apropriados.