この記事では、FXのEAを使った自動売買を行った際にうまく稼働しない時、
確認しておきたい15個の内容について解説をしております。
うまく稼働しない時は、ほぼこちらの原因によるものですので、参考にしてもらえれば幸いです。
- ただ単純にEAがポジションを持っていないだけかも
- そもそもMT4にログインをしていない
- 本人確認がされていなく、口座が有効化されていない
- MT4のEAをMT5の口座で利用しようとしている
- EAを設定したMT4の通貨ペアが間違っている
- ダウンロードしたが、EAの認証が完了していない
- MT4の自動の設定の全般タブにチェックがはいっていない
- エキスパートアドバイザの項目にチェックが入っていない
- MT4で自動売買のボタンをONにしていない
- 1つのVPSに複数のEAを運用しすぎている
- VPSが再起動していつのまにかEAが停止している
- ポジションの手動決済を一部実行してしまった場合
- 口座の証拠金不足
- MT4のエラーの原因を操作履歴で見てみる
- MT4エラーコード一覧
- まとめ
ただ単純にEAがポジションを持っていないだけかも
初心者の方ですと、設定後すぐに取引が開始されるのかと思っているようで、「取引がされないですけど?」と問い合わせをもらうことがあります。
EAは相場が動かないとポジションを持ちません。
ですので、ずっとヨコヨコの状態が続いていれば、ポジションを持たない日もあるでしょう。
あと、土日は証券会社が休みなので、そもそも取引はされません。
そもそもMT4にログインをしていない
以外と多いのがそもそもMT4にログインしていないケースです。
MT4をダウンロードして起動させただけではEAは動きません。
ログインして設定が必要。
MT4の「ファイル」から「取引口座にログイン」をクリックしてログインをしましょう。
その際に必要になってくるのが、
・口座番号
・パスワード
・サーバー番号
の3つ。
口座番号とパスワードは分かっている人が多いので特に問題ないかと思いますが、
やっかいなのが、「サーバー番号」
これを覚えていない方が多いですね。
ではそれはどこにあるのかというと、上記のように口座開設をした直後に証券口座から送られてきているメールの中に記載がありますので、分からない方は、証券会社の名前で自分のメールで検索をかけて、過去まで遡って確認されてください。
ログインが成功するとMT4の右下の方に、回線速度が表示されます。
ここが、「無効な口座」となっている場合はログインできていません。
あとログインパスワードもIとLを間違えていたりOとoのように大文字と小文字を間違えていたせいでログインできないケースもありますので、要注意。
本人確認がされていなく、口座が有効化されていない
口座を作成しただけでは取引を行うことができません。
「本人確認」を完了させることが必要。
身分証をアップロードして口座を有効化してください。
数日かかる場合もありますので、口座を開設したらすぐアップロードまで完了させましょう。
MT4のEAをMT5の口座で利用しようとしている
こちらもまれにいます。
MT4とMT5は別物ですので、注意しなくてはなりません。
MT4限定のEAなどはたくさんありますので、口座を確認しましょう。
特にXMの場合は、上記のように口座作成画面がデフォルトでMT5が選択されているので、よく確認しないとMT5で口座を作成しやすくなっています。
EAを設定したMT4の通貨ペアが間違っている
通貨ペアを指定しているEAも多いです。
USD/JPYでしか動かないEAにGBP/JPYに設定しても稼働しません。
ダウンロードしたが、EAの認証が完了していない
EAによっては認証が完了していないと設定ができない場合があります。
通常設定が完了して自動売買をONにすると、右上にニコちゃんマークが表示されます。
EAの認証が完了していない場合、このマークが一瞬表示されて少しでもMT4を動かすとマークが消えます。
この場合は、ほぼEAの認証が完了していませんね。
そういった場合はEA提供者に連絡をして、認証を完了してもらいましょう。
MT4の自動の設定の全般タブにチェックがはいっていない
EAを設定する時に、ナビゲーターからドラッグ&ドロップする作業があります。
行うと上記のようなパラメーターなどを設定する画面が表示されます。
そちらを「全般」に切り替えた時に、
・アラームを無効化
・自動売買を許可する
・DLLの使用を許可する
・外部エキスパートの使用を許可する
この4つにチェックが入っているかどうか確認をしてください。
チェックが入っていなければチェックを入れてくださいね。
エキスパートアドバイザの項目にチェックが入っていない
MT4のツールーオプションーエキスパートアドバイザの「自動売買を許可する」「DLLの使用を許可する」にチェックがはいっているか?
これも確認してください。
入ってなかった場合はチェックを入れるようにしましょう。
MT4で自動売買のボタンをONにしていない
MT4の上部のバーには「自動売買」というボタンがあります。
上記はONの状態。
上記がOFFの状態。
クリックすれば切り替わります。
赤色になっていた場合は、自動売買は停止になっている状態ですので、クリックしてONにしましょう。
1つのVPSに複数のEAを運用しすぎている
EAは1つのVPSに複数設置することが可能です。
しかし、容量の低いプランに対して、何個もEAを運用すると、動作が重くなりフリーズしてしまうことがあります。
これは自身のパソコンに設置した場合も同様。
容量が低ければ停止してしまうこともあります。
ですので、容量を上げるか別のVPSを契約するなどして対応してください。
VPSが再起動していつのまにかEAが停止している
EAを利用している方の中には、ご自身のPCではなく、VPSを利用されている方も多いかと思います。
自身のPCに設定していた場合、インターネット環境から外れたり、電源をシャットダウンしてしますともちろんツールは停止。
VPSに設置をしていれば、自身のパソコンは切ろうが壊れてしまおうがツールは稼働し続けます。
ということでVPSに設置する人も多いのですが、そちらも注意が必要です。
上記はお名前ドットコムのVPSになりますが、6/29日に起きたサーバー障害。
サービスですので、やはりこういった事もあり得ます。
ただ、サーバー障害であれば問題ないですが、これを解消するためにたまに「システムの再起動」をかける場合があります。
再起動ですので、もう分かっているかと思いますがEAは止まります。
ですので、スマホアプリのメタトレーダー4などで日々やりとりを確認していて「取引されなくなったな〜」なんて思っていたら、VPSが再起動かけてたなんてことも。
定期的にチェックする必要まではありませんが、たまに確認してみましょう。
ポジションの手動決済を一部実行してしまった場合
EAがポジションを複数持っていた場合で、上記のように大きな利益を出せるかもしれないポジションもあります。
人間ですので、決済したくなっちゃいますよね?
気持ちは分かります。
メタトレーダー4のポジションを長押しして簡単に決済することができますが、ダメです。
EAは持っているポジション全体を見ていて、次のトレードや決済などを判断しています。
ですので、裁量でそのうちの一つだけ決済してしまうと、売買ロジックがおかしくなり正常に動かなくなることがあります。
そもそも機械に任せるから人間の心情などは無視できて感情などに流されずにトレードが行えるメリットを捨てることになります。
それでも、どうしてもやりたいのであれば、持っているポジションの全てを手動決済して、自動売買を再起動。
そうすれば、以前同様正常に自動売買を行えます。
口座の証拠金不足
例えばXMの証券口座では、証拠金維持率が20%を割ると、強制ロスカットになり、
強制決済されてしまいます。
大きな相場変動が起こった時に、強制ロスカットにあい、資金がなくなってしまっている場合があります。
あらかじめ耐えられるだけの資金を入れておくか、こまめに出金(別口座への資金移動)するなどのリスクヘッジを考えておきましょう。
MT4のエラーの原因を操作履歴で見てみる
黄色い三角は重大なエラーではないので、無視しても構いませんが、赤い三角が出ている場合は、エラーメッセージになりますので、内容を確認してグーグルで検索をしてみましょう。
エラーメッセージをそのままコピペして頂ければ調べることができます。
MT4エラーコード一覧
ERR_NO_ERROR 0 エラーなし
ERR_NO_RESULT 1 エラーは無いが、結果は未知
ERR_COMMON_ERROR 2 共通エラー
ERR_INVALID_TRADE_PARAMETERS 3 無効なトレード変数
ERR_SERVER_BUSY 4 トレードサーバがビジー状態
ERR_OLD_VERSION 5 クライアント端末が古いバージョン
ERR_NO_CONNECTION 6 トレードサーバと接続できない
ERR_NOT_ENOUGH_RIGHTS 7 権限が無い
ERR_TOO_FREQUENT_REQUESTS 8 要求が多すぎる
ERR_MALFUNCTIONAL_TRADE 9 不適合な関数によってトレードがなされた
ERR_ACCOUNT_DISABLED 64 アカウント無効化
ERR_INVALID_ACCOUNT 65 無効なアカウント
ERR_TRADE_TIMEOUT 128 トレード時間切れ
ERR_INVALID_PRICE 129 無効な価格値
ERR_INVALID_STOPS 130 無効なストップ値
ERR_INVALID_TRADE_VOLUME 131 無効なロット数
ERR_MARKET_CLOSED 132 市場が閉じている
ERR_TRADE_DISABLED 133 トレード無効化
ERR_NOT_ENOUGH_MONEY 134 資金不足
ERR_PRICE_CHANGED 135 価格値変更
ERR_OFF_QUOTES 136 相場価格から離れている
ERR_BROKER_BUSY 137 仲介側がビジー状態
ERR_REQUOTE 138 再見積り
ERR_ORDER_LOCKED 139 注文がロックされた
ERR_LONG_POSITIONS_ONLY_ALLOWED 140 買いポジションだけ有効
ERR_TOO_MANY_REQUESTS 141 要求が多すぎる
ERR_TRADE_MODIFY_DENIED 145 市場が閉じている為、変更できない
ERR_TRADE_CONTEXT_BUSY 146 トレード状況がビジー状態
ERR_TRADE_EXPIRATION_DENIED 147 仲介側の契約が終了している
ERR_TRADE_TOO_MANY_ORDERS 148 オーダー数が仲介側の限度を超えている
MQL4の実行エラー
ERR_NO_MQLERROR 4000 エラーなし
ERR_WRONG_FUNCTION_POINTER 4001 不正な関数ポインタ
ERR_ARRAY_INDEX_OUT_OF_RANGE 4002 配列のサイズを超えたインデックス
ERR_NO_MEMORY_FOR_CALL_STACK 4003 関数呼び出しのスタックメモリが無い
ERR_RECURSIVE_STACK_OVERFLOW 4004 再帰的スタックオーバーフロー
ERR_NOT_ENOUGH_STACK_FOR_PARAM 4005 変数のためのスタックメモリが十分ではない
ERR_NO_MEMORY_FOR_PARAM_STRING 4006 文字列変数のメモリが無い
ERR_NO_MEMORY_FOR_TEMP_STRING 4007 一時文字列のメモリが無い
ERR_NOT_INITIALIZED_STRING 4008 初期化されていない文字列
ERR_NOT_INITIALIZED_ARRAYSTRING 4009 配列中の初期化されていない文字列
ERR_NO_MEMORY_FOR_ARRAYSTRING 4010 文字列配列用のメモリが無い
ERR_TOO_LONG_STRING 4011 長すぎる文字列
ERR_REMAINDER_FROM_ZERO_DIVIDE 4012 0で割った余り
ERR_ZERO_DIVIDE 4013 0での除算
ERR_UNKNOWN_COMMAND 4014 未知の命令
ERR_WRONG_JUMP 4015 不正な変化 (エラーは生成されていない)
ERR_NOT_INITIALIZED_ARRAY 4016 配列が初期化されていない
ERR_DLL_CALLS_NOT_ALLOWED 4017 DLLの呼び出しが許可されていない
ERR_CANNOT_LOAD_LIBRARY 4018 ライブラリが読み込めない
ERR_CANNOT_CALL_FUNCTION 4019 関数が呼び出せない
ERR_EXTERNAL_CALLS_NOT_ALLOWED 4020 エキスパート関数の呼び出しが許可されていない
ERR_NO_MEMORY_FOR_RETURNED_STR 4021 関数からの返り値である一時文字列用のメモリが不足している
ERR_SYSTEM_BUSY 4022 システムがビジー状態 (エラーは生成されていない)
ERR_INVALID_FUNCTION_PARAMSCNT 4050 関数への引数が無効と見なされた
ERR_INVALID_FUNCTION_PARAMVALUE 4051 関数への引数値が無効
ERR_STRING_FUNCTION_INTERNAL 4052 文字列関数の内部エラー
ERR_SOME_ARRAY_ERROR 4053 エラーのある配列がある
ERR_INCORRECT_SERIESARRAY_USING 4054 正しくない系統配列が使われている
ERR_CUSTOM_INDICATOR_ERROR 4055 カスタムインジケータエラー
ERR_INCOMPATIBLE_ARRAYS 4056 配列の相互性がない
ERR_GLOBAL_VARIABLES_PROCESSING 4057 グローバル変数の処理エラー
ERR_GLOBAL_VARIABLE_NOT_FOUND 4058 グローバル変数が見つからない
ERR_FUNC_NOT_ALLOWED_IN_TESTING 4059 テストモードで使えない関数を使った
ERR_FUNCTION_NOT_CONFIRMED 4060 関数が確認できない
ERR_SEND_MAIL_ERROR 4061 メール送信エラー
ERR_STRING_PARAMETER_EXPECTED 4062 文字列変数を要求している
ERR_INTEGER_PARAMETER_EXPECTED 4063 整数変数を要求している
ERR_DOUBLE_PARAMETER_EXPECTED 4064 浮動小数変数を要求している
ERR_ARRAY_AS_PARAMETER_EXPECTED 4065 配列型変数を要求している
ERR_HISTORY_WILL_UPDATED 4066 更新状態から過去データを要求された
ERR_TRADE_ERROR 4067 トレード関数においてエラーが生じた
ERR_END_OF_FILE 4099 ファイルの終端
ERR_SOME_FILE_ERROR 4100 ファイルエラーがある
ERR_WRONG_FILE_NAME 4101 不正なファイル名
ERR_TOO_MANY_OPENED_FILES 4102 ファイルを開きすぎ
ERR_CANNOT_OPEN_FILE 4103 ファイルが開けない
ERR_INCOMPATIBLE_FILEACCESS 4104 ファイルアクセスに相互性がない
ERR_NO_ORDER_SELECTED 4105 注文が選択されていない
ERR_UNKNOWN_SYMBOL 4106 未知の通貨
ERR_INVALID_PRICE_PARAM 4107 不正な価格値
ERR_INVALID_TICKET 4108 不正なチケット
ERR_TRADE_NOT_ALLOWED 4109 トレードが許可されていない。エキスパートプロパティの”Allow live trading”にチェックを入れることで許可される
ERR_LONGS_NOT_ALLOWED 4110 買い注文が許可されていない。エキスパートプロパティをチェック
ERR_SHORTS_NOT_ALLOWED 4111 売り注文が許可されていない。エキスパートプロパティをチェック
ERR_OBJECT_ALREADY_EXISTS 4200 オブジェクトが既に有る
ERR_UNKNOWN_OBJECT_PROPERTY 4201 未知のオブジェクトプロパティ
ERR_OBJECT_DOES_NOT_EXIST 4202 オブジェクトが存在しない
ERR_UNKNOWN_OBJECT_TYPE 4203 未知のオブジェクト型
ERR_NO_OBJECT_NAME 4204 オブジェクト名がない
ERR_OBJECT_COORDINATES_ERROR 4205 オブジェクトの座標エラー
ERR_NO_SPECIFIED_SUBWINDOW 4206 指定されたウィンドウが無い
ERR_SOME_OBJECT_ERROR 4207 オブジェクト関数内でエラーが起きた
まとめ
本日は、FXの自動売買(EA)を利用した時、動かない場合に確認する15個について説明させて頂きました。
僕自身がFXのコミュニティを運営していて、解決してきたものを全てまとめていますので、あなたの問題の解決につながれば幸いです。
最後まで読んで頂きありがとうございました。