mql5言語の特徴、微妙なニュアンスとテクニック - ページ 107

 
fxsaber

おそらく、1つのパスが〜50日よりも長く使えるという意味だと思います。

no、Slavaはそれを正しく理解して発言した。

 
ニコライ・セムコ

テスターでの時間密度が全然違う。うまくいかない。


テスターではGetTickCount() 関数がテスト時間に基づいて値をエミュレートしていると確信していました。

とても不思議で非論理的です。自分へのサプライズテスターではGetTickCount()が単に「フリーズ」してしまうということです。

 
ニコライ・セムコ


テスターのGetTickCount()関数が、テストの時間に応じて値をエミュレートしていると思い込んでいたのです。

とても不思議で、論理的ではありません。自分へのサプライズつまり、テスターではGetTickCount()は単に「フリーズ」していると理解する必要があります。

なぜ非論理的なのか?

OnTick,OnCalculate, OnInit, OnDeinitなどを1回のコールで行うのは非常に論理的です。計算の厳密さが大きく異なることがあります。

 
TheXpert:

いや、スラバはちゃんと理解した上で言っている。

いいえ、そうではありません。
プログラム開始からちょうど50日経過している場合は、数時間の差が表示されます。

しかし、GetTickCount()の代わりにGetMicrosecondCount() を使うと、オーバーフローしない時間は50日ではなく584542年になります
ZY 正確にはグレゴリオ暦で考えると583081年 ))。

 
スラバ

なぜ非論理的なのか?

OnTick、OnCalculate、OnInit、OnDeinitなどの1回の呼び出しの中で、非常に論理的です。計算の厳密さが大きく異なることがあります。

そうですね、ある関数やコードブロックの計算の実行時間を測定するためには、論理的としか言いようがないですね。GetTickCount()とGetMicrosecondCount() 関数は、あるイベント間の時間計測など、それ以外ではテスターでは役に立ちません。

 
その後、すべてのテストグレイルの 原点が明らかになります。))
 
ニコライ・セムコ

いいえ、そんなことはありません。
番組開始からちょうど50日経過している場合、その差は数時間分と表示されます。

このような間隔は、測定されません

正直なところ、そのようなケースを考慮したとしても、どのように考慮すればよいのか、私にはわからない。

 
TheXpert:

このようなギャップは測定されません

そして正直なところ、そのようなケースを考慮したとしても、どのように考慮したらよいのか--。

いいえ、もちろんご心配には及びません。50日......本当に実用の域を出ないですね。もし、本当に50日以上テストする必要があるのなら、GetTickCount() を使う方が簡単で、オーバーフロー制御(追加の変数が発生する)だけです。

 

実は、テスターのローカル タイムの話題は、公正な競争には非常に有害なのです。
私がMQなら、ローカルタイムを決定するための抜け穴はすべて閉じます。なぜなら、テスターでは必要なく、騙されやすい新規トレーダーに無意味なことをさせるために必要なだけだからです。

まあ、せめてこのスレや他のスレからこの話題を削除してくれればいいんだけどね。

 
ニコライ・セムコ

実際、テスターで現地時間の話題が上がったことは、公正な競争にとって非常に有害なことです。すべてホワイトハットです。
もし私がMQなら、ローカルタイムを定義するための抜け穴をすべて塞ぐでしょう。

まあ、せめてこのスレや他のスレから話題を下げてくれればいいんだけどね、可能なら。

話題性でごまかすことはできない。実用化については、KBで使っています。便利なんですよ。

理由: