複数の注文に対して処理はたった1件。他は待機状態になります。

MT4は複数のチャートを同時に表示することが出来ます。一つのチャートに一つのEAを関連付けることが出来るので、複数のチャートを開けば複数のEAを同時稼動することが出来るという訳です。しかし、MT4がサーバーに対して通信接続を確立出来る数はたった「1件」しかありません。これが何を意味するかというと「全く同じタイミングで複数注文が入ったとしても一つの注文しか処理出来ない」ということを意味します。

仮に「AAA」と「BBB」という二つのEAが全く同じタイミングで「買い」の注文を入れたとします。しかし、MT4は二つの注文は同時に処理しきれないので「AAAの買い」の処理を行ってから「BBBの買い」の処理を行おうとします。もし「AAAの買い」の処理に3秒かかってしまったとしたら「BBBの買い」はその間ずっと待機状態になり、「AAAの買い」の処理が完了した3秒後から「BBBの買い」の処理が走ることになります。MILLION DOLLAR PIPSなどのスキャルピングEAは一分一秒を争う世界なので、この3秒の遅延は致命的です。

「電話」をイメージしてもらえるとわかりやすいと思います。

よりわかりやすくいうならば、「電話」を思い出すといいかもしれません。家族や恋人と電話している最中に仕事の電話がかかってきたらどうでしょう。同時に電話に出ることは出来ないので、当然仕事の電話は繋がりません。同時に電話に出るためにはどうすればいいでしょうか。答えは単純で、電話を二つ持てばいいのです。

Phone Booth
Creative Commons License photo credit: Widerbergs

EAの数だけMT4を起動させる方法

サンプル画像

MT4で「この電話を二つ持つ」という行為を再現するにはどうすればいいのでしょうか。ずばり、MT4を二つ同時に起動させれば良いのです。やり方は簡単で、MT4をインストールしたフォルダ(C:\Program Files\MetaTrader – Pepperstoneなど)を丸ごとコピーし、別の名前にして保存。そのフォルダの中にあるterminal.exeをクリックすればMT4が立ち上がります。

サンプル画像2

ただ一点だけ気をつけなければならないのは、MT4複数起動をするとメモリ消費量が一気に上がりますので、タスクマネージャー等でメモリ消費量と相談をしながら、MT4の数を調節してください。例えば、MT4ForexEAというEAは16通貨対応しているのですが、16つのMT4を同時に起動すると900MBのメモリを消費することとなり、このEAだけでVPSの容量が一杯になってしまいました。

この記事のまとめ

主に問題になるのは同じタイミングで注文の処理が走る時なので、無理をしてMT4を複数起動させる必要はありません。似たようなポジションを取るEAや細かい注文を出すEAを扱う場合は一つのEAに対して一つのMT4にした方が成績が上がる可能性があるということです。実際に検証をしていないので詳細まではわからないのですが、分けた場合と分けなかった場合では利益に数倍の差が出るということもあるようです。

トレード環境は人によってさまざまだと思いますので、自分のトレード環境に合ったMT4の使い方を心がけましょう。もし、よくわからない場合はお問い合わせフォームで気軽に相談してくださいな^^

 

コメントを残す