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

 
A100:

現在のキュー全体を読むか、指定された数のイベントを読むまで、繰り返し戻ることが推奨されます。トレードイベントが終了すると、タイマーリターンがあり、すべてのイベントに一度にアクセスできるようになります

まあ、言いたいことはあるけど...。もちろん、IMHOですが、ハンドラを別スレッドで実行するようにとのことです。そこで、ちょっと考えてみたのですが...。

そして、自分のためにやっているのであれば、すべてを外に出し、どのハンドラーも似たようなものになる。

void OnXXX{
 gOnXXXMutex.Lock();
 COnXXXOverlapped overlapped=new COnXXXOverlapped(<param_list>);
 gOnXXXOverlappedList.PushBack(overlapped);
 gOnXXXMutex.Unlock();
 DLLOnXXX(<param_list>,overlapped,&gOnXXXMutex);
}
 
A100:
OnTimerを使用しない、よりエレガントなソリューションがあります...考えてみてください。

なぜうまくいかないのか、自分の頭で考えてみてください。

 
fxsaber:

なぜうまくいかないのか、自分の頭で考えてみてください。

そして、考える必要はありません - マーケットが開いたばかりで、私はチェックしました - ラインの計算まで、すべてが機能します。

if (наблюдаемая позиция закрылась по тейку)

トレードイベントが キューに追加され、読むことができるようになりました。

 
A100:

そして、ここでは考える必要はありません。マーケットが開いたばかりで、私はチェックしました。

トレードイベントがキューに追加され、読むことができるようになりました。

申し訳ありませんが、正しい操作の理解では何も説明もしません。簡単なことを綴るのは疲れる。

 
fxsaber:

申し訳ないが、正しい操作の理解では何も説明もしない。簡単なことを説明するのは疲れる。

説明したくないなら、説明しなければいい。を追加することを示しただけです。

bool HandleNextEvent (ENUM_EVENT_TYPE);

どうということはない

 
A100:

が、基本的に変わることはない

大きな違いです。ただ、多くの頭の中でその考えを明白にするためには、多くの時間がかかる(結果がわからない)ようです。

 
fxsaber:

大きな違いです。ただ、この考えを多くの頭の中で明白にするためには、多くの時間が かかる(結果がわからない)ようです。

アインシュタインの「単純化理論」によれば、「簡単に説明できないものは、自分でも理解していない」ということですから、多くはないでしょう。

 
A100:

その必要はありません。アインシュタインの「単純化理論」によれば、"簡単に説明できないなら、あなた自身がずっと理解していないのだ "ということになりますから。

ああ、わかってないんだな。

 
fxsaber:

そう、あなたには通用しなかったのです。

そして、私は何も説明しようとせず、例を挙げて結果を出しました。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

MT5とスピードの関係

A100, 2020.05.31 23:23

...市場はちょうど開いた、私はチェックした - すべてが働いている、 行の計算の前に

if (наблюдаемая позиция закрылась по тейку)

トレーディングイベントがキューに追加され、読むことができるようになった

OnMain()からトレードイベントを読み取ることができることがわかりました。あなたはそうではないと主張 した
 
A100:

私は何も説明しようとせず、例を挙げて結果を出しました。

OnMain()からトレードイベントを読み取ることができることがわかりました。あなたは逆に主張 した。

あなたは何もわかっていない。リターンするときは、形成されたキューのOn-functionに入る。そのため、最初のOrderSendの直後に正しい2番目のOrderSendを送信することができない、一時停止が発生する可能性があります。

return後のOn-functionをすべて保存し、最初のOrderSendの終了メッセージがあるOn-functionを待つことで、キューを蓄積することを提案されています。そして、2回目のOrderSendだけを送信する。

同時に、テイクポジションは最初のOrderSendの間に実行できますが、そのOnTradeTransactionは最初のOrderSendから終了するOnTradeTransactionより後に(同じマイクロ秒内に、しかし後に)キューに入ることを理解していない。