Brian さんが書きました:
EAは通常ポジション決済のためや、所有ポジションのチェックを常時行っていると思います。
ポジション数が増えるほど、チェック対象が増え、
EAが増えるほどチェックを実行する物が増えることになります。
そのためどんどんサーバとの通信負荷が高まります。
情報お持ちの方がいらっしゃったらご教授いただけますでしょうか。
以下に書いたことは、自作EAを作成したときに自分で推測したMT4の動作です。
以前、自作EAを作成していたときに、
すでに決済済みの約定情報を取得したことがありまして、
その際に、古い約定情報が取得できなかったことがありました。
その条件を調べていたところ、(表示はしていなくても)MT4の口座履歴で表示設定されている期間内の
約定情報のみ取得できるということに気が付きました。
このことからOrderSelectや決済済み情報、(多分)ポジション情報はMT4のクライアントが保持している情報を
使用するのではないでしょうか。
だとするならば、普通にポジションチェックを行っているだけならば、サーバーへは通信が発生しないかと思われます。
# その場合、チェックはローカルのPC負荷だけかと思います。
ただし、EA内でRefreshRates()関数(MT4が保持しているBid,Ask情報を最新の情報にサーバーへ要求する関数)を
ポジションチェック時に使用しているEAであれば、サーバーに負荷がかかるかと思います。