エラー4109とは
MT4のエラー4109(メッセージ:Trade is not allowed)は、EA(エキスパートアドバイザー)やスクリプトが取引命令を送信しようとした際に、MT4側で自動売買が許可されていない場合に発生するエラーです。手動取引では発生しません。
このエラーはEAのログやジャーナルに記録され、EA自体は動作しているように見えても実際の注文は一切実行されない状態になります。
原因
- MT4全体の自動売買が無効:MT4のオプション設定で「自動売買を許可する」が無効になっている。初期設定では無効の場合があります。
- ツールバーの自動売買ボタンがオフ:MT4ツールバーの「自動売買」ボタンが赤色(無効)になっている。誤って押してしまうことが多い原因です。
- 個別EAの「ライブ取引を許可」が無効:EAをチャートに適用する際の設定ダイアログで「ライブ取引を許可」にチェックが入っていない。
- 口座タイプの制限:ブローカーが提供する口座タイプの中には、EA取引を禁止しているものがあります。特にボーナス専用口座やコンテスト口座などが該当します。
- ブローカー側の制限:ブローカーがサーバー側でEA取引を制限している、またはアカウントに個別の制限がかけられている。
解決手順
MT4全体の自動売買を許可する
MT4の「ツール」メニュー →「オプション」→「エキスパートアドバイザー」タブを開きます。「自動売買を許可する」にチェックを入れ、「OK」をクリックします。これがMT4全体の自動売買のマスタースイッチです。
ツールバーの自動売買ボタンを確認する
MT4ツールバーの「自動売買」ボタンを確認します。ボタンが緑色なら有効、赤色なら無効です。赤色の場合はクリックして緑色に切り替えてください。このボタンはワンクリックで切り替わるため、誤操作で無効になっていることがあります。
個別EAの設定を確認する
チャート上のEAアイコンを右クリック →「プロパティ」→「全般」タブで「ライブ取引を許可」にチェックが入っているか確認します。EAアイコンが笑顔(😊)なら有効、無表情なら無効です。
口座タイプを確認する
使用している口座タイプがEA取引に対応しているかを確認します。ブローカーの公式サイトで口座タイプごとの取引条件を確認するか、サポートに問い合わせてください。
ブローカーに問い合わせる
上記全てを確認してもエラーが解消しない場合は、ブローカーのサポートにアカウントIDとエラー内容を伝えて、サーバー側でEA取引が制限されていないか確認してもらいます。
EA開発者は、取引前にIsTradeAllowed()関数でチェックすることで、エラー4109を事前に検知できます。この関数がfalseを返す場合、自動売買が無効になっています。if(!IsTradeAllowed()) { Print("自動売買が無効です"); return; }
よくある質問
EA自動売買を安定して運用するには、EA取引を公式にサポートしている業者を選ぶことが重要です。XMは全口座タイプでEA取引が可能で、VPS無料サービスも提供しています。
XM公式サイトで口座開設(無料)※ XMは日本の金融庁に未登録の海外FX業者です。取引にはリスクが伴います。
FX(外国為替証拠金取引)は元本保証のない金融商品です。レバレッジにより、預けた証拠金以上の損失が発生する可能性があります。余剰資金の範囲で取引を行ってください。当サイトで紹介する海外FX業者は日本の金融庁に未登録であり、日本の投資者保護基金の対象外です。当サイトの情報は一般的な情報提供を目的としたものであり、特定の業者の利用を推奨するものでも、個別の売買助言でもありません。