EAのトラブルシューティング

コンピューターでEAを実行する方法がわからない、またはEAを一度も実行したことがない場合は、最初から始めることをお勧めします:ヘルプ - 初めての方へ。以下では、お客様の状況に最も合うシナリオを選択することでEAの問題の解決策を見つけることができます:

注文が入りません。

まず最初にエラーが表示されていないか確認してください。Backtestを実行していた場合は、Strategy TesterパネルのJournalタブを開いてください。Demoアカウントで実行している場合は、ToolboxパネルのJournalタブとExpertsタブの両方を確認してください。パネルが表示されておらず開き方がわからない場合は、「View」から「Toolbox」(Demo/Live)または「Strategy Tester」(バックテスト)を選択してください。まずBacktestを実行してEAを動作させることを強くお勧めします。テストと問題解決が簡単になり、また速いためです。

Errors visible on the Experts tab
Example of errors visible on the 'Journal' tab when backtesting the EA

タブをスクロールしてエラーを確認したが、エラーの意味がわからない場合は、このトラブルシューティングページの「エラーが表示されます」の部分に進んでください。

タブをスクロールしてもエラーが表示されない場合は、EAが正しく設定されていない可能性が高いです。テンプレートの1つを選ぶか、AIエージェントに依頼してシンプルなサンプルEAを作成することを強くお勧めします。EAが正常に動作することを確認したら、モジュールや条件(Open Buy/Open Sell)を一度に1つだけ追加してください。新しいものを追加するたびにEAをテストしてください。注文が入らなくなったとき、どこで間違えたかがわかります。EAの設定でお困りの場合は、サブスクリプション登録してお問い合わせください。設定の問題かどうか先に確認したい場合は、まずお問い合わせいただき確認していただくこともできます。

Backtestで注文が入るため、EAの設定はおそらく問題ありません。しかし何かがDemoアカウント(そしてLiveアカウント)でのトレードを妨げています。まず、EAがトレードしていないことを確認するために十分な時間待ち、条件が満たされたかどうかを確認してください。エラーが表示されている場合は待つ必要はありません。

次に、エラーが表示されていないか確認してください。ToolboxパネルのJournalタブとExpertsタブの両方を確認してください。パネルが表示されておらず開き方がわからない場合は、「View」から「Toolbox」を選択してください。

Errors visible on the Experts tab
Example of errors visible on the 'Experts' tab when running the EA on a Demo account

タブをスクロールしてエラーを確認したが、エラーの意味がわからない場合は、このトラブルシューティングページの「エラーが表示されます」の部分に進んでください。

タブをスクロールしてもエラーが表示されないが、Backtestで注文が入る場合は、Backtestで使用していたものと同じシンボルとタイムフレームで実行していることを確認してください。Backtestでは注文の条件がシンボル上で満たされていても、Demoでトレードしているシンボルの特性が異なる可能性があります。まずシンボルをバックテストすることを強くお勧めします。

追加のサポートが必要な場合は、お問い合わせいただき、できるだけ詳細に問題を説明してください。

注文は入っていますが、

チャート上のSL/TPラインは水平の緑と赤のラインで表示されます。これらのラインがチャートに表示されない場合は、チャートにStop lossとTake profitが表示されませんというセクションをご参照ください。

ToolboxパネルのトレードタブにStop loss(SL)またはTake profit(TP)が表示されないのは正しい動作です。EAがそれらを管理しているためです。これはブローカーがトレード情報を別の目的で利用することを防ぐための判断です。また、トレーリング戦略に不可欠なトレーリングや頻繁な注文変更をブローカーがサポートしていないことが多いためです。そのため、唯一の現実的な選択肢はEAのメモリ内でSL/TPを内部管理することで、0.1 pipsの精度を確保しています。

チャートにStop loss(SL)またはTake profit(TP)が表示されない場合は、以下をご確認ください:

  1. EAをチャートにアタッチするときにエラーが表示されますか?その場合は「エラーが表示されます」に進んで、表示されているエラーを選択してください。

Errors visible on the Experts tab
Example of errors visible on the 'Experts' tab when running the EA on a Demo account

  1. 注文はEAによって開かれましたか、それとも手動で注文しましたか?EAが手動で開いたトレードを管理することを期待している場合は、MetaTraderのExpert Advisorのプロパティウィンドウ(入力タブ)でEAのMagic Numberを「0」に設定してください。これにより、EAは手動で開いた注文の管理を続行し、設定されていればSL/TPを設定します。

ea magic number property
Magic number of an EA. You can change the value to 0 for manual orders.

  1. 注文が開かれた後にEAが無効になった可能性はありますか?チャートの右上隅を確認してください:EAがアクティブ(笑顔)または非アクティブ(悲しい顔)として表示されていますか?MetaTrader 5ではアクティブなEAは青い帽子(MT4では笑顔)で表示され、非アクティブなものは灰色の帽子(MT4では悲しい顔)で表示されます。アクティブなEAのみがSL/TPを管理します。EAが自動的に無効にならないようにするには、チュートリアル - 初めてのEA実行の「Backtestでの実行」の指示を参照して、「Disable」チェックボックスのチェックを外してください。

ea magic number property
EA is running and not disabled.

  1. SL/TPラインがチャートの表示可能エリアの外にある可能性があります。ズームアウトして、SL/TPラインが表示範囲内にあるかどうかを確認してください。
  2. EAをチャートにロードした後、「Expert」タブに次のようなメッセージが表示されることを確認してください:EURUSDの場合「Pip (forex)/ Point (indices): 0.00010」。別のシンボルをトレードしている場合は、表示されている値がそのシンボルの1 pip/pointの値に対応していることを確認してください。対応していない場合は、EAのプロパティの入力タブで「Manual pip point (0 = auto detection)」を正しい値に手動で調整してください。

ea pip point property
Pip/ point calculated automatically. Can be set to preferred value manually..

SL/TPが期待通りの位置に表示されない最も可能性の高い原因は、予想とは異なる1 pipあたりの値を持つシンボルをトレードしていることです。例えば、EURUSDをトレードしている場合、EAは自動的に1 Pipを0.00010の値として計算します。

pipの値を知るにはどうすればよいですか?EAをチャートにアタッチして「Expert」タブを見ると、次のような行が表示されます:Pip (forex)/ Point (indices): 0.00010。これがpipの値です:0.00010。期待通りでない場合は、EAのプロパティを開いて次のプロパティを設定してください:Manual pip point (0 = auto detection) を1 pipとして期待する値に設定します。

US 30をトレードしている場合、pip/pointの値を$1に設定したい場合があるかもしれません。前述の設定を1に調整してください。

ea pip point property
Pip/ point calculated automatically. Can be set to preferred value manually.

最も一般的な原因は、Open シグナルがまだアクティブなことです。Open シグナルがまだアクティブな場合、EAは注文をクローズしません。クローズすると、Open シグナルが同じ方向に新しい注文をすぐに開いてしまうためです。Open シグナルが短時間だけアクティブになるようにする方法がいくつかあります:

  • 最も一般的な方法は、Open シグナルでクロスオーバーを使用することです。これは特に、EAのタイムフレームが短いかSL/TPが大きい場合に効果的です。クロスオーバーを使用することで、インジケーターの値が単に別の値より大きいかどうかをチェックするのではなく、前の値がまだ小さかった間だけアクティブになります。
  • クロスオーバーはクロスオーバーで使用されたインジケーターのタイムフレーム期間中アクティブになるため、代替として「Time gap between orders」モジュールを使用することができます。「Apply after closed order」を有効にしてください。

デフォルトでは、Indicatorはあなたの EA が適用されているchartのtimeframeで動作します。そのため、chartのtimeframeを変更すると、Indicatorは新しいtimeframeで再計算され、それに依存する Buy および Sell のシグナルも再計算されます。これにより、chartのtimeframeを変更しただけで EA が注文を閉じたり(または開いたり)することがあります。

これを防ぐには、各Indicatorに固定のtimeframeを設定し、chartが EA に影響しないようにします。固定のTimeframeの設定方法については、EAにIndicatorを追加するを参照してください。

EAを実行するとエラーが表示されます。

メッセージが示すように、パネルでエラーを確認する必要があります。Backtestを実行していた場合は、Strategy TesterパネルのJournalタブを開いてください。Demoアカウントで実行している場合は、ToolboxパネルのJournalタブとExpertsタブの両方を確認してください。まずBacktestでEAを動作させることを強くお勧めします。テストと問題解決が簡単になるためです。

Errors visible on the Experts tab
Example of errors visible on the 'Journal' tab when backtesting the EA

すでに確認したエラー(「Open (all) order(s) failed. Please check EA [Number] and look at the Journal and Expert tab.」)以外のエラーを探してください。見つかったら、このページでその説明に一致するエラーに進んでください。

表示されているエラーがこのページのどのエラーにも一致しない場合は、お問い合わせいただき、表示されているエラーをお知らせください。

EAがインジケーターを見つけられません。インジケーターはMetaTraderの「Indicators」フォルダに入れる必要があり、サブフォルダには入れないでください。「Indicators\Examples」、「Indicators\Market」などは機能しません。MetaTraderから「Indicators」フォルダを開くには、「File」から「Open Data Folder」(CTRL + Shift + D)を選択してください。次に、ファイルエクスプローラーで「MQL4」と「Indicators」をクリックしてください。

このエラーが解決しない場合は、「Indicators」フォルダに「ex4」ファイルが入っていて、「mq4」ファイルだけでないことを確認してください。「ex4」ファイルがない場合は、MetaEditorで「mq4」ファイルを開いて「Compile」ボタンをクリックしてください。

EAがインジケーターを見つけられません。インジケーターはMetaTraderの「Indicators」フォルダに入れる必要があり、サブフォルダには入れないでください。MetaTraderから「Indicators」フォルダを開くには、「File」から「Open Data Folder」(CTRL + Shift + D)を選択してください。次に、ファイルエクスプローラーで「MQL5」と「Indicators」をクリックしてください。

このエラーが解決しない場合は、「Indicators」フォルダに「ex5」ファイルが入っていて、「mq5」ファイルだけでないことを確認してください。「ex5」ファイルがない場合は、MetaEditorで「mq5」ファイルを開いて「Compile」ボタンをクリックしてください。

EAがインジケーターを見つけられません。インジケーターはMetaTraderの「Indicators」フォルダに入れる必要があり、サブフォルダには入れないでください。MetaTraderから「Indicators」フォルダを開くには、「File」から「Open Data Folder」(CTRL + Shift + D)を選択してください。次に、ファイルエクスプローラーで「MQL5」と「Indicators」をクリックしてください。

このエラーが解決しない場合は、「Indicators」フォルダに「ex5」ファイルが入っていて、「mq5」ファイルだけでないことを確認してください。「ex5」ファイルがない場合は、MetaEditorで「mq5」ファイルを開いて「Compile」ボタンをクリックしてください。

EAはパーセンテージのMoney managerオプションを使用してLot sizeを計算しています。これにはシンボルのポジションを開くために必要なマージンをEAが計算する必要があります。しかし、ブローカーによるシンボルの設定ミスにより、必要なマージンを計算できません。

このシンボルには以下のMoney managerのいずれかを使用して固定Lot sizeを使用してください:

  • Fixed lot size
  • Manual Sequence(パーセンテージオプションを使用しないでください)
  • Marginale(パーセンテージオプションを使用しないでください)

EAがDLLを読み込むインジケーターを使用しています。このEAを実行することが確実で、EAの発行者を信頼している場合は、チュートリアル - 初めてのEA実行の「Backtestでの実行」の指示に進んで「Allow DLL imports」を有効にしてください。

MetaTraderの設定がEAの自動トレードを許可するように正しく設定されていない可能性があります。チュートリアル - 初めてのEA実行の「Backtestでの実行」の指示に進んで「Allow automated trading」を有効にしてください。

ブローカーが受け入れる最小または最大サイズより小さいまたは大きいボリューム(Lot size)で注文を開こうとしています。例えば、ブローカーがナノロット(0.0001 lot)を受け付けていない場合に発生することがあります。

Open BuyとOpen Sellのシグナルがまったく同じタイミングで満たされましたが、EAのヘッジングが許可されていません。

これを解決するには、Open BuyとOpen Sellが同時に満たされないようにシグナルを修正するか、意図的なものであれば、Open orderモジュールでヘッジングを有効にして、EAが同時に買い注文と売り注文を開けるようにしてください。

Error enable hedging
Enable hedging on your Open order module

EA実行の準備の手順をすべて実行してください。

それでも解決しない場合は、このエラーが発生するいくつかの追加の理由があります:

  • ファンデッドチャレンジ中で、ブローカーがチャレンジにトレードボットの使用を許可していません(ブローカーにご確認ください)。
  • Market Watchにシンボルが表示されていても、ブローカーがお客様の口座タイプでそのシンボルのトレードを提供していません。ブローカーにお問い合わせください。
  • ブローカーが(例えば)GBPUSDのトレードを提供しなくなった、またはサービスを終了しています。

お問い合わせいただき、どのようなエラーが表示されているかをお知らせください。エラーの解決方法をお伝えし、このページにエラーを追加します。

MT5 マーケットプレイスにEAをアップロードするとエラーが表示されます。

EAをMT5マーケットプレイスにアップロードすると、ルールに準拠しているかテストされます。これには、EAが注文を過度な損失のまま放置しないかどうかをチェックするテストが含まれます。最大損失に達する前に注文をクローズするようにEAを設定する必要があります。そうしないとストップアウトされます。すでにStop lossモジュールがある場合でも、追加のStop lossモジュールを追加することができます。例:最大許容Stop lossが5%の場合、Stop lossを4.5%に設定してください。ルールと制限についてはMT5にご確認ください。