MT5とスピードの関係 - ページ 41

 
A100:

そして、私が遅いということは、これでも 誰にも弾か れないという事実で確定して いるのです。

今、試してみたところ、私にも再生できない。おそらく、歴史の深い週足・月足チャートでの計算原理が変わり、遅れがひとりでに消えたのでしょう

 
fxsaber:

そう、だからmqhではこの条件を使っているのです。

最初のチェックでfalseとすると、他の4つのチェックを殺してしまうので、||を使う方が良い。

 
Andrei Trukhanovich:

最初のチェックでfalseを押すと、他の4つのチェックを殺してしまいます。

これが本来の姿なのです。GetMicrosecondsCountが遅い場合、常に遅くなります。

 
fxsaber:

このEAを(自宅のマシンではなく)VPSから実行した結果を教えてください。

VPSとは名ばかりで、レンタルしたハードウェア上に仮想マシンを構築しています。

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:

UPUというわけではなく、レンタルしたハードウェア上に仮想マシンを搭載している。

ありがとうございます。あなたのマシンは、ブレーキが弱いようですね。このような構成が遅いと判断されないように、FreezeVPSの条件を適切なものに変更する必要があるでしょう。

 
fxsaber:

このEAを(自宅のマシンではなく)VPSから実行した結果を教えてください。

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.

2回ほど終了しただけで、もう二度と動きません。
どう解釈したらいいのかわからない。


また、ローカルの仮想マシン上では、この

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:

このEAを(自宅のマシンではなく)VPSから実行した結果を教えてください。

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コア、1GB RAM。

タイミングは表示されません。コードを理解せず、そのままコンパイルしてしまいました。

 
Roman:
Edgar Akhmadeev:

タイミングは表示されませんでした。コードを調べずに、そのままコンパイルしてしまいました。

情報提供ありがとうございました。Benchmark.mqhでは、上の行はコメントアウトせず、下の行はその逆にしてください。こうなるように。

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

そうすれば測光はうまくいきます。これで、「ブレーキ」が検出されたら、測定しない、という保護ができました。

 
fxsaber:

情報提供ありがとうございました。Benchmark.mqhでは、上の行のコメントを解除し、下の行を逆にする必要があります。このようになるように。

そうすれば測光はうまくいきます。今は、「ブレーキ」を見つけても測定しない、というプロテクションがあります。

バッチリありがとうございます。はい、LANのアラートは非常によく出ます。
解釈の仕方がわかりました。

 
fxsaber:

FreezeVPSの条件は、ボトルネックとみなされないように、適切なものに変更する必要があります。

ご投稿いただいた寸法をもとに、適切な調整をさせていただきました。