MT5 y la velocidad en acción - página 41

 
A100:

Y el hecho de que soy lento se confirma por el hecho de que incluso esto no juega para nadie más:

Ahora que lo he probado, tampoco me funciona. Quizás el principio de cálculo en el gráfico semanal y mensual con historia profunda ha cambiado y los retrasos han desaparecido por sí solos

 
fxsaber:

Sí, por eso uso esta condición en mqh.

en la primera comprobación false mata las otras 4 comprobaciones. es mejor usar || entonces, las siguientes serán ignoradas en caso de lags.

 
Andrei Trukhanovich:

en la primera comprobación false mata las otras 4 comprobaciones. es mejor usar || entonces, las siguientes serán ignoradas en caso de lentitud.

Así es como debe ser. Si GetMicrosecondsCount es lento, siempre es lento.

 
fxsaber:

Por favor, comparta los resultados de la ejecución de este EA desde su VPS (no su máquina doméstica).

No es realmente un VPS, sino una máquina virtual en un hardware alquilado:

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:

No es realmente una UPU, sino una máquina virtual en un hardware alquilado:

Gracias. Su máquina parece tener frenos débiles. Habría que cambiar la condición de FreezeVPS por una adecuada para que dicha configuración no se considere lenta.

 
fxsaber:

Por favor, comparta los resultados de la ejecución de este EA desde su VPS (no su máquina doméstica).

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.

Se ha parado dos veces y luego se ha ido, no vuelve a funcionar.
No sé cómo interpretarlo.


Y en una máquina virtual local, esto

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, comparta los resultados de la ejecución de este EA desde su VPS (no su máquina doméstica).

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.

No se muestran los tiempos. No entendí el código, lo compilé tal cual.

 
Roman:
Edgar Akhmadeev:

No se mostraron los tiempos. No he mirado el código, he compilado tal cual.

Gracias por la información. En Benchmark.mqh la línea superior debe ser descomentada y la inferior al revés. Para que sea así.

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

Entonces la medición funcionará. Ahora tenemos una protección, que si se detectan "frenos", entonces no medir.

 
fxsaber:

Gracias por la información. En Benchmark.mqh hay que descomentar la línea superior e invertir la inferior. Para que sea así.

Entonces la medición funcionará. Ahora hay una protección, que si encuentras "frenos", entonces no midas.

Gracias por el lote. Sí, la LAN alerta muy a menudo.
Ahora entiendo cómo interpretarlo.

 
fxsaber:

Habrá que cambiar la condición de FreezeVPS por otra adecuada para que no se considere un cuello de botella.

Basándome en las medidas publicadas, he realizado los ajustes pertinentes.