この記事に感謝します。
エラーについて少し:
Все программы, работающие по данным стакана, по форме будут являться советниками, ведь обработчик события BookEvent есть только в советниках. Правда, можно сделать связку "советник-индикатор", где истинный индикатор сможет принимать данные от советника и обрабатывать состояние стакана.
インジケーターはOnBookEventも処理できます。
angevoyageur:
エラーについて少し:
インジケーターはOnBookEventも処理できます。
アラン、メッセージありがとう。はい、その通りです。インジケーターでも動作するのですが...。私はインジケータを作成する ときのハンドラのリストを頼りにしたのですが、その中にOnBookEvent()はありませんでした。
そして、一番重要なことは、Documentationにこう書いてあることです:
アラン、メッセージをありがとう。そうなんだ。インジケーターでも動作するのですが...。私はインジケータを作成する 際のハンドラのリストを頼りにしていたのですが、その中にOnBookEvent()がありませんでした。
そして一番重要なことは、Documentationに書いてあることです:
そうですね、ドキュメントを修正する必要があります。この件についてServiceDeskに書いていますか?
参考までに、この記事にはちょっとした誤りがあります:
All programs working with Depth of Market data will have a form of an Expert Advisor, as only Expert Advisors feature the event handler of BookEvent. There is a possibility, however, to write an "Expert-Indicator" pair , where the indicator can receive data from the EA and process the Depth of Market state.
インジケータもBookEventを処理することができます。この誤りはドキュメントの誤りに 基づくもので、すぐに修正されるはずです。記事の著者とServiceDeskには連絡済みです。
こんにちは、記事をありがとうございます!
例えば、私がBookEventイベントを 処理し、私のハンドラが注文を削除し、発注し、それが再びこのイベントを開始するとします......そして、発注(注文の削除)と新しいBookEventイベントの期限が再び形成された瞬間に、私の非常に初期の手順は中断されるのでしょうか? なぜなら、コードの実行が最後まで到達しないことに気づいたからです....すべてが実行されるわけではありません.私はアイデアを明確にしたことを願っています ))
こんにちは、記事をありがとうございます!
例えば、私がBookEventイベントを 処理し、私のハンドラが注文を削除し、発注し、それが再びこのイベントを開始するとします......そして、発注(注文の削除)と新しいBookEventイベントの期限が再び形成された瞬間に、私の非常に初期の手順は中断されるのでしょうか? なぜなら、コードの実行が最後まで到達しないことに気づいたからです....すべてが実行されるわけではありません.すべて実行されるわけではありません.)
ご意見ありがとうございます!
いいえ、1つのイベントが処理されている間、新しいイベントが発生しても、プログラムの制御は自動的に別のハンドラに移行しません。これはPrint()関数で確認することができます(一時停止のSleep()を追加した方がよいでしょう)。
イベント・キュー」という概念があります。
ドキュメントに よると
プログラムは実行中のグラフからのみイベントを受け取ります。すべてのイベントは受信順に次々と処理される。キューにすでにNewTick イベントがある場合、またはこのイベントが処理中である場合、新しいNewTickイベントはmql5-programのキューに入れられません。同様に、mql5-programのキューにすでにChartEvent イベントがあるか、このイベントが処理中である場合、このタイプの新しいイベントはキューに入れられない。Timerイベントも同じ方式で処理されます -Timer イベントがキューにあるか、すでに処理されている場合、新しいTimerイベントはキューに入れられません。
イベント・キューには制限がありますが、十分なサイズがあるので、正しく書かれたプログラムでは、キューがオーバーフローすることはまずありません。キューがオーバーフローした場合、新しいイベントはキューに入れられることなく破棄されます。
こんにちは。とても有益な記事ですね。以下の質問があります。
ある商品で執行された取引を、執行された注文のタイプ(成行/指値)に従ってフィルタリングするタスクがあります。
OnBookEventイベントとOnTickイベントをどのようにリンクさせれば、このタスクを解決できますか?私が理解する限り、このタスクはOnBookEventだけでは解決できません。
Rubick:
...この問題を解決するには、OnBookEventイベントとOnTickイベントをどのようにリンクさせればいいのでしょうか。私の理解では、このようなタスクはOnBookEventだけでは解決できません。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事 MQL5 クックブック:BookEvent の処理 はパブリッシュされました:
知られたことですが、MetaTrader 5 トレーディングターミナルはマルチマーケットプラットフォームで、Forex、株式市場、先物および差金決済契約でのトレードを容易にします。フリーランス セクションの統計によると、 Forex マーケット以外でもトレードしているトレーダー数は増加しています。
本稿では初心者の MQL5 プログラマーに BookEvent処 理をご紹介したいと思います。このイベントはマーケットデプス-株式資産とそのデリバティブをトレードするインスツルメントに関連しています。ただし Forex トレーダーはマーケットデプスも有用であると思うことでしょう。ECN アカウントでは、アグリゲータモデルに過ぎませんが、流動性をもたらす人が注文に関するデータを供給します。こういったアカウントはより一般的になってき ています。
1. BookEvent
ドキュメンテーションによると、このイベントはマーケットデプス状態が変わるときに生成されます。BookEvent はマーケットデプスイベントであると同意します。
マーケットデプスは注文の配列で、それは方向(売り、買い)、価格、ボリュームが異なります。マーケットデプスでは価格はマーケット価格に近く、そのためベストな価格であるとみなされます。
図1 MetaTrader 5 におけるマーケットデプス
MetaTrader 5 では『注文控元帳』は『マーケットデプス』と呼ばれます(図1)。マーケットデプスに関する詳細上昇は「クライアントターミナル」の「ユーザーガイド」にあります。
作者: Dennis Kirichenko