Каждый скрипт и каждый эксперт работает в собственном отдельном потоке. Все индикаторы работают в одном интерфейсном потоке терминала. Обработка тиков и синхронизация истории также производится в интерфейсном потоке. Если пользовательский индикатор вызван при помощи функции iCustom(), то этот индикатор работает в потоке вызвавшей его программы...
通常のチャート(OBJ_CHARTではない)にコピーしたリソースを使ったコミュニケーションはうまくいくでしょうか?それとも、そこに何らかの制約があるのでしょうか?
よくわからない。もし、そのような実験をしたら、ここで結果を教えてください。
この実装では、OnTradeのアプローチは論外という理解でいいのでしょうか?スレーブでトレード注文の結果を待つべき?
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
初心者からのFAQ MQL5 MT5 MetaTrader 5
ウラジミール・カルプトフ 2019.07.21 21:11
いいえ、寝ながらは禁止されています。
この実装では、OnTradeのアプローチは論外という理解でいいのでしょうか?また、スレーブでトレードオーダーの結果を待つ必要があるのでしょうか?
私はOnTradeを使っていません(私はクロスプラットフォームのコードを書いており、MT4にはそれがありません)。でも、私もあまり待っていません(sleepとwhileは使っていません)。OrderSend() が返すもので十分です。
通常のチャート(OBJ_CHARTではない)にコピーしたリソースを使ったコミュニケーションはうまくいくでしょうか?それとも、そこに何か制約があるのでしょうか?
各EAエージェント・コピーは、固有のリソース名を作成するための自分の番号だけを知っていればよい。
OrderSend()が返すもので十分です。
Result.deal = 0 - 十分ですか?あと、MT5でOrderSend 直後に取引履歴が同期されないクセがある。
OnTradeは4で動作するようです。
Result.deal = 0 - これでいいのか?
まだ、(result.order==0 && result.deal==0)にはなっていません。
https://docs.mql4.com/ru/runtime/running意識していない。もし、そのような実験をしたら、ここで結果を教えてください。
そうします。
一般的には、このような状況はおかしいと思います。リソースを介してデータを読み出す場合、そのリソースがあるプログラムのアドレスを指定する必要があります。しかし、同じEAのコピーが実行されるので、同じアドレスを持つことになります。この場合、データの読み書きはどのように行われるのでしょうか?不思議なことに...
各EAエージェントのコピーは、固有のリソース名を作成するために、自身の番号だけを知っている必要があります。
まだ、(result.order==0 && result.deal==0)になっていない。
5点くらいです。
5点くらいです。
そういうことなんです。
OnTradeは4で動くというコメントに対する答えとして、4へのリンクを貼りました。