新しいEAを手に入れて、いま動いているチャートにドラッグする。確認の窓が出るので、はいを押す。すると今まで右上に出ていたEAの名前が消えて、新しいほうの名前に変わっている。1本目は、外れている。
チャート1枚に載せられるEAは1つだけだ。2本目を動かすならチャートをもう1枚開く。ここは操作の話なので、その場で気づく。やっかいなのは、そのあと何日か経ってから出てくるほうだ。
口座は1つしかない。証拠金も、ポジションの一覧も、注文の履歴も、2本のEAが同じ場所を共有する。片方が出したポジションを、もう片方が閉じてしまうことも起きる。今回は、2本目を足す前に決めておく項目を並べる。
チャートは1枚につき1本
同じ通貨ペア・同じ時間足でも、チャートをもう1枚開けばそこに別のEAを載せられる。よくあるのは、載せ替わったことに気づかないまま「2本動いているつもり」でいる状態だ。チャートのタブを一つずつ見て、右上のEA名と時間足を確認しておきたい。
端末の自動売買ボタンは全体に効く。切れば2本とも止まる。片方だけ止めたいなら、そのチャートからEAを外すか、稼働を切るスイッチをEA側に持たせておく。止め方を先に決めておくと、慌てた場面で迷わずに済む。
番号が重なると、片方がもう片方を決済する
EAは自分が出した注文を識別番号(マジックナンバー)で見分けている。決済するときも、いま何本持っているかを数えるときも、この番号で絞ってから処理する。番号が同じだと、2本目のEAは1本目のポジションを自分のものとして扱う。利確の条件が来た瞬間に、他人の建玉を閉じる。
見落としやすいのは、同じEAをもう1本動かす場合だ。通貨ペアや時間足を変えても、番号が初期値のままなら同じ値になる。番号はEAごと、設定ごとに別の値にする。ここだけはパラメータに出ていることが多いので、コードを触らずに直せる。
注文のコメント欄で見分ける作りは避けたい。コメントは人が目で読むための文字で、業者側で書き換えられることがある。分割決済のあとに別の文字列が足される形も見る。見分けるための値は番号で持ち、コメントは表示のためだけに使う。
証拠金は、口座に1つしかない
EAが見ているのは自分の損益だけだが、口座の余力は2本ぶんの合計で減っていく。片方が含み損を抱えている間、もう片方の新規注文が資金不足で蹴られることがある。ログには注文が通らなかった記録だけが残り、EA自体はどこも壊れていない。
重いのは強制決済のほうだ。余力が足りなくなると、業者側が損失の大きいポジションから閉じていく。誰が出したポジションかは考慮されない。順調に回っていたほうのEAの建玉が、もう片方の負けで閉じられる。これは作りでは防げないので、1本あたりに使ってよい資金の割合を先に決めておくしかない。
「どちらのEAが悪かったのか」——強制決済の場面で、その問いに意味はない。減ったのは口座の余力で、閉じられるのは損の大きいほうだ。
合計ロットの上限は、口座の側で決める
EAが持っている最大ロットや最大ポジション数の設定は、たいてい自分の番号で絞った範囲の話だ。2本合わせて何枚まで、という上限はどこにも無い。それぞれが上限まで持てば、口座は2倍の枚数を抱えることになる。
上限を効かせるなら、本数やロットを変数に貯めるのではなく、そのつど全ポジションから数え直す。手で決済した、別のEAが持った、端末を再起動した——数を覚えておく作りは、このどれでもずれる。合計は保存せず、そのつど一覧から数える形にしておく。
業者の側にも、1回の注文の上限や、同じ銘柄で持てる上限がある。1本では届かなかった線に、2本を足したところで初めて当たることがある。上限の近くで回している人は、増やす前に確認しておきたい。
同じ銘柄で反対に入ると、どうなるか
ここは口座の種類で結果が変わる。両建てのできる口座なら、買いと売りは別々のポジションとして両方残る。相殺される口座では、あとから来た売りが先にある買いを減らす。つまり2本目のEAの注文が、1本目のポジションを削る。
相殺される口座では、同じ銘柄のポジションは1つにまとめられる。番号で自分の分だけを見分ける、という前提そのものが崩れる。同じ銘柄を扱うEAを2本入れるなら、口座の種類を先に確かめること。銘柄を分けてしまえば、この問題は起きない。
ログもファイルも、混ざる
端末のログは1本の流れだ。2本ぶんの記録が同じタブに時刻順で並ぶ。どちらが書いた行か分からないと、あとから追えない。書き出す行の頭にEAの名前を入れておくだけで、読めるようになる。
ファイルも同じ場所に置かれる。設定値や途中の状態を保存するEAが、同じ名前のファイルを使っていれば上書きし合う。ファイル名にEAの名前を入れて分ける。端末の中で共有される変数を使う作りも同じで、名前が重なれば片方の値がもう片方に書き換えられる。
取引履歴は、あとから番号で分けられる。だからこそ番号を分けておく意味がある。どのEAが出した注文か後から分からないものは、成績も分けられない。2本の合計しか見えない状態だと、どちらを止めるかの判断ができなくなる。
当方は元金融系のシステムエンジニアで、MT5のEAの開発と改修をココナラでお受けしています(MT4は移植・改修のご相談から承ります)。識別番号の付け直しや、合計ロットを口座全体で見る形への改修も承ります。いま動かしている本数と口座の種類を添えて、ココナラのメッセージからご相談ください。なお、お渡しするのはソフトウェアであって、投資助言や運用の代行ではありません。