昨日まで動いていたEAが止まった時に見る順番

昨日まで動いていたEAが止まった時に見る順番

記事
IT・テクノロジー
朝、口座を開いたらポジションがゼロ。チャートの右上にはEAの名前とマークが出ている。設定は先週から一度も触っていない。なのに新規のエントリーが二日ぶん出ていない。
この状態がいちばんやっかいだ。壊れているなら直せばいい。相場が動いていないだけなら待てばいい。どちらか分からないまま数日が過ぎるのが、いちばん高くつく。
EAが動かなくなる原因は、EA本体ではなく周りにあることが多い。口座タイプを変えた。端末が自動更新された。パソコンが再起動した。夏時間が切り替わった。コードは一文字も変わっていないのに動かなくなる理由は、EAの外側にいくらでもある。今回は、修理を頼む前に自分で確認する順番をまとめる。

「出していない」のか「失敗している」のか

最初に分けるのはここだ。この二つはまったく別の話になる。前者はEAが判定した結果として見送っているか、そもそも判定まで到達していない。後者はEAが注文を出したのに、サーバー側で蹴られている。
分け方はログを見る。ターミナル下段の「エキスパート」タブ「操作履歴」タブだ。操作履歴に注文の送信記録が並んでいて、その後ろにエラーが付いていれば「失敗している」。何も出ていなければ「そもそも出していない」。ここだけは何よりも先に開いてほしい。以降の見る順番が変わる。
失敗している方が、じつは楽である。理由が文字で残っているからだ。何も出ていないときの方が探す範囲が広い。
出していないか、失敗したか

許可のスイッチは三か所、通信するEAならもう一か所

「昨日まで動いていた」という症状といちばんよく噛み合うのがここだ。端末を再起動したあとに、自動売買が入り直っていないことがある。
一つめは端末全体の許可。ツールバーの「アルゴリズム取引」ボタン(MT4では「自動売買」ボタン)の色と、オプション画面のエキスパートアドバイザの設定を見る。二つめはEA単体の許可。チャートを右クリックして「エキスパートアドバイザー」から「プロパティ」を開く。F7でも開く。「全般」タブの自動売買を許可する項目を確認する。三つめは口座側。投資家パスワードでログインしていると読み取り専用になるので、発注は通らない。
四つめは、外部と通信するタイプのEAだけの話だ。通信を許可するURLの一覧に相手先が入っているかを見る。ここは端末側の設定なので、入れ直すと消える。
チャート右上のマークが表しているのは、一つめと二つめまでだ。端末とEAの自動売買が通っていればこのマークは笑う。逆に言えば、三つめの口座側と、四つめの通信許可はここに映らない。マークは笑っているのに注文が出ないなら、疑うのはその先になる。
もう一つ、テンプレートを当てた直後は気をつけたい。EAがチャートから外れていたり、別の時間足に乗っていたりする。チャートのタブを一度見て、EA名と時間足を確認する。

シンボル名と時刻は、黙ってずれる

通貨ペアの名前は業者ごとに違う。同じユーロドルでも、末尾にドットや英字が付く形で並んでいることがある。しかも同じ業者の中でも、口座タイプを変えると名前が変わる場合がある。EAが銘柄名を決め打ちしている作りだと、口座を移した瞬間に何も起きなくなる。
気配値表示に出ていない銘柄は、価格も過去データも取れない。複数の通貨ペアを見に行くEAは、ここで静かに止まりやすい。
もう一つが時刻だ。サーバー時刻は業者のものであって、パソコンの時計とは別物である。しかも夏時間の切り替えで年に二回ずれる。時間帯フィルターを持つEAが春と秋に急に黙るのは、これが原因のことが多い。
「設定は何も変えていない」——変えていないのは自分であって、周りは変わっている。

ロットとSLは「計算の結果」で決まる

ロットを残高や証拠金から計算するEAは多い。出金した、含み損を抱えている、口座の通貨単位が違う。どれでも計算結果は変わる。その結果が最小ロットを下回ると、注文が作られないか、無効な数量として蹴られる。
最小ロット・ロットの刻み・最大ロットは銘柄ごとの仕様だ。口座タイプを変えたときに、最小単位そのものが変わっていることがある。
損切りと利確の幅も同じで、現在値に近すぎると受け付けてもらえない下限がある。値動きの幅から自動でSLを出しているEAが、静かな週にだけ蹴られるのはこのためだ。残高もボラティリティも毎日変わるので、この項目は「昨日まで動いていた」と最も噛み合う。両建てや決済順序に規制のある口座へ移した場合も、それまで通っていた注文が通らなくなる。
止まる場所と、見るもの

ログは最後の行ではなく、最初の一行を読む

エラーは連鎖する。最後の行を読んでも、たいてい結果しか書いていない。日付が変わって最初に出た一行を探すこと。ここに原因が出る。
「エキスパート」タブはEAが自分で書き出した文字で、「操作履歴」タブは端末とサーバーのやりとりだ。注文が蹴られた理由は後者に出る。ログはファイルとしても残っていて、データフォルダの中から数日前まで遡れる。「いつから出なくなったか」が日付で分かると、その日に自分が何をしたかを思い出せる。更新、再起動、口座の切り替え。だいたいそこに答えがある。
ただし、何も書き出さないEAもある。作者がログを出す作りにしていなければ、画面には何も残らない。その場合はパラメータの表示やチャート上の文字から推測するしかなく、外側から分かることは限られる。

ソースコードが手元に無い場合

出回っているEAの多くは、コンパイル済みのファイルだけで配られる。中身は読めない。取れる手は三つになる。
一つめは作者に連絡する。これがいちばん早い。「いつから」「どのエラーが」「どの口座で」の三点を揃えて送ると話が早い。二つめはパラメータで逃げられないか探すこと。銘柄名の末尾、時刻のずれ幅、ロットの固定、SLの最小幅は、入力パラメータとして外に出ていることが少なくない。ここが出ているなら、コードを触らずに直せる。
三つめが、ルールを言語化して作り直す道だ。売買ルールを自分の言葉で書けるなら、書き出したルールどおりに動くものは作れる。項目は六つ。入る条件、出る条件、使う指標と期間、時間足、ロットの決め方、触らない時間帯。この六つが埋まれば、ルールから組み直す形で着手できる。ただし元のEAと完全に同じ挙動になるとは限らない。内部の計算方法や約定の扱いまでは、外からは分からないからだ。
他の方が作ったコンパイル済みEAの解析や複製は、当方ではお受けしていない。
どの手を取るにせよ、動かなくなった時点の設定ファイルとログは先に保存しておくこと。上書きしてしまうと、動いていた頃の設定が分からなくなる。復旧の材料をひとつ失うことになる。

当方は元金融系のシステムエンジニアで、MT5のEAの開発をココナラでお受けしています(MT4は移植・改修のご相談から承ります)。上の順番で見ても場所が絞れないときや、ルールから組み直したいときは、いつから・どのエラーが出ているかを添えて、ココナラのメッセージからご相談ください。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す