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

 

提示されたソースコードについて

#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279

void OnStart()
{
  for (int i = 0; i < 5; i++)
    _BV(Sleep(1), 1);
}

スピードが欲しいなら、このモンスターは自分の足を遅くしているのだから、あきらめた方がいい。

この測定器は、大きな誤差が生じるため、不向きである

私のスクリプトでは

#define  ITERATIONS 5

以下は5回繰り返したときのログです。

2020.11.04 16:37:24.430 TestSleep (EURUSD,H1)   total 9673 microseconds (1.935 ms per iteration)

2ミリ秒以下

 
fxsaber:
開発者は、その沈黙によって、2つの問題を完全に認めたことになる。

開発者は、問題がないことを沈黙によって認めている。

 
Slava:

以下は5回繰り返したときのログです。

2ミリ秒以下

あなたの脚本です。

2020.11.04 16:46:40.341 Test9 (EURCHF,M1)       total 67620 microseconds (13.524 ms per iteration)


マシンです。

2020.11.04 16:47:52.962 Terminal        Windows 10 build 19042, Intel Core i7-2700 K  @ 3.50 GHz, 7 / 15 Gb memory, 18 / 29 Gb disk, IE 11, Admin, GMT+2
 
Anton:

開発者は、問題がないことを沈黙によって認めている。

ハンサム!以前のMarket Reviewに比べ、ダニが少ない状態で入ってくるのは普通なのでしょうか?

 
fxsaber:

ハンサム!以前のMarket Reviewに比べ、ダニが少ない状態で入ってくるのは普通なのでしょうか?

ノーマルです。

5日前にも同じスレッドで回答しています。


SymbolInfoTick は、ブローカーのサーバーから受信したデータを送信します。サーバーが送信したものが、あなたが受け取るものです。

証券会社が放送するティックストリームに疑問がある場合は、証券会社に問い合わせる必要があります。

 
Slava:

エキスパートキューはロック可能なリソースです。イベントがキューに書き込まれると、Expert Advisor は待機します(もちろん、Expert Advisor が現在イベント処理中である場合を除きます)。

Expert Advisor のイベントは、対応するチャートのイベントキューから発生し、そのイベントキューは、対応するシンボルの処理サイクルから発生します。そして、この処理のループは、イベントを自分のチャートに配信するだけでなく、他にも様々なことを行っています。

WindowsがリアルタイムOSでないことは、すでにお伝えしたとおりです。

タスクは非常にシンプルに定式化されています:キューを待っている間に減速しないExpert Advisorを書くにはどう したらよいでしょうか?スリープはブレーキになるので、無限ループはありえない。そのため、非同期モードは全く機能しません。今、長いミリ秒の形で待ち時間をキャッチすることは、全く重要ではありません。

 
fxsaber:

あなたの脚本です。


10,000回の繰り返しの場合は?

 
Slava:

10,000回の繰り返しの場合は?

2020.11.04 17:09:30.483 total 155965249 microseconds (15.597 ms per iteration)

このスクリプトを 自分のマシンで実行した結果を、他の人にも教えてあげたい。

 
Anton:

それでいいんです。

5日前にも同じスレッドで回答しています。

SymbolInfoTick は、ブローカーのサーバーから受信したデータを送信する。サーバーが送信したものが、あなたが受け取るものです。

証券会社が放送しているティックストリームに疑問がある場合は、証券会社に問い合わせる必要があります。

だから、MQ-Demoのオーナーに質問しているのです。

 
fxsaber:

問題は非常にシンプルに定式化されており、キュー待ちの際に速度を落とさないEAを書くにはどう したらいいか?無限ループは不可能です。スリープがブレーキになるからです。だから、非同期ループは迷走する。今、長いミリ秒の形で待ち時間をキャッチすることは、全く重要ではありません。

自分自身や周りの人を欺くようなことはしないでください。

ここに書かれていることは、9年前の高負荷のハードウェアで動作が重くならないExpert Advisorを書くという、まったく別のタスクについて述べているのです。