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

 
Roman:

このままでは、ある一定の頻度でサーバーにpingを打っている間に、遅延が発生してしまいます。

16ms以上?どのようなサーバーですか?こんなに頻繁にPingを打つ意味はあるのでしょうか?

 
fxsaber:

PMに送信しました。

22%でコンパイル中にCTRL+BREAKを押すと、MEがハングアップします。

 
Andrey Khatimlianskii:

16ms以上?どのようなサーバーなのでしょうか?こんなに頻繁にPingを打ってどうするんだ。

ポイントは16msではなく、無遅延のループです。
ソケットを読み込み、ハートビートをpingで送信します。

 
Roman:

ポイントは16msではなく、無遅延のループです。
ソケットを読み込み、ハートビートをpingで送信します。

ソケットを読み込んでいるところです。

それとも、ソケットを遅延なく読むことは悪いことなのでしょうか?

このままでは心拍の意味がわかりません(

 
Andrey Khatimlianskii:

ソケットを読み込んでいるところです。

なぜスリップするのでしょうか? それとも、ソケットを遅延なく読むことが悪いことなのでしょうか?

このままでは心拍の意味がわかりません(

では、マクロは何のためにあるのでしょうか?
ソケットの読み込みはループ内で遅延なく行われ、ハートビートは同じループ内で定められた頻度で遅延なく 実行される。
スレは関係ありません、その一環としてスレを書きました、便利かも しれませんね。
このマクロのポイントは、ループ内で何らかのコードが遅延なく実行される頻度を設定することです。
ハートビートとは 限りません。異なる
度で任意のマクロを作る ことができ、ループ内で遅延なく異なる実行が行われます。
例えば、NikolaiはOnTimerのクラスを書きました。 https://www.mql5.com/ru/code/31306
そして、ここではマイクロ秒単位までできるループのために。

Multi Timer
Multi Timer
  • www.mql5.com
Данная библиотека Вам пригодится, когда Вам необходимы несколько таймеров с независимой обработкой и неконфликтующие между собой. Для работы с данной библиотекой важно запомнить следующие правила: В теле вашей программы не должно быть функции OnTimer , т.к. эта функция уже присутствует в файле Timer.mhq Не надо создавать никаких экземпляров...
 
Roman:

では、マクロは何のためにあるのでしょうか?
ソケットの読み込みはループ内で遅延なく行われ、ハートビートは同じループ内で一定周期で遅延なく 実行される。
スレは関係ありません。私もスレを書いたので、便利かも しれません。
このマクロのポイントは、ループ内で何らかのコードが遅延なく実行される頻度を設定することです。
ハートビートとは 限りません。異なる
度で任意のマクロを作る ことができ、ループ内で遅延なく異なる実行が行われます。
例えば、NikolaiはOnTimerのクラスを書きました。 https://www.mql5.com/ru/code/31306
そして、ここではマイクロ秒単位までできるループのために。

そういうことだったんですね。

while ( true )
{
   static ulong prev = 0;
   if ( GetMicrosecondsCount() - prev >= InpPause_msc )
   {
     prev = GetMicrosecondsCount();
     // do something
   }

?


そうすると、マイクロ秒のスリップは何のためにあるのか、まだよくわからない。どうやら「おまけ」らしい。まあ、それはそれとして )

 
Andrey Khatimlianskii:

そういうことだったんですね。

?

そうすると、なぜマイクロ秒のスリップが発生するのか、まだはっきりしません。どうやら「おまけ」らしい。まあ、それはそれとして )

まあ、そういう書き方もできるんですけどね。スイッチとマクロでやっただけです。

そう、だからマイクロ秒のスリップはこのループで便利かもしれない。
ただ、マイクロ秒のスリップが可能であるという事実。

 
Andrey Khatimlianskii:

ソケットを読み込んでいるところです。

なぜスリップするのでしょうか? それとも、ソケットを遅延なく読むことが悪いことなのでしょうか?

こんな頻度で鼓動する意味がわからない(

この場合、スリップは全く有害ではありません。他のスレッドを優先して、自分のスレッドを遅くしてしまうからです。

 
Roman:

まあ、そういう書き方もありますね。スイッチとマクロでやっただけです。
また、あなたの例ではGetMicrosecondsCountの呼び出しが2回ありますが、私の例では1回です。
そして、そうです。もしマイクロ秒スリップがこのループで何か役に立つのであれば、スリップも同様に。
ただ、マイクロ秒のスリップが可能であるという事実だけです。

不可

 
Slava:

インポッシブル

なるほど、言い直します。
PWMについてはどうでしょうか?- 周波数が一定で、デューティサイクルが可変のパルス信号
定数を設定しないのですか?