エラー140とは
MT4のエラー140(メッセージ:Long positions only allowed)は、トレーダーが売り(Sell / ショート)注文を送信した際に、ブローカーがその銘柄に対して買い(ロング)ポジションのみを許可している場合に返されるエラーです。
主要なFX通貨ペアでこのエラーが発生することは稀ですが、株式CFD、一部のコモディティ(商品)CFD、仮想通貨CFDなどで適用されるケースがあります。
原因
- 規制による空売り禁止:一部の国の金融規制当局が、市場の安定のために特定の銘柄の空売りを一時的または恒久的に禁止している場合。ブローカーはこの規制に従い、MT4上でショート注文を制限します。
- ブローカー独自の制限:ブローカーが独自のリスク管理方針に基づき、特定の銘柄やアカウントタイプでショート取引を制限している場合。ボーナス口座やプロモーション口座で適用されることがあります。
- 銘柄固有の制限:株式CFDの一部では、原資産の空売り規制に準じてCFDのショートポジションも制限されることがあります。特に流動性の低い銘柄で適用されやすいです。
- 市場急変時の一時的措置:大幅な下落が発生した際に、ブローカーが追加の損失リスクを避けるため一時的にショートポジションの新規建てを停止する場合があります。
解決手順
ブローカーの通知・メールを確認する
ブローカーが空売り制限を適用する場合、事前にメールやプラットフォーム内通知で告知されるのが一般的です。MT4のメールボックス(「ツール」→「メールボックス」)とブローカーからのメールを確認してください。
別の銘柄で取引する
制限が特定の銘柄に対してのみ適用されている場合、同じ方向性を持つ別の銘柄で代替できないか検討してください。例えば、ある株式CFDでショートが禁止されている場合、関連する指数CFDではショートが可能な場合があります。
口座タイプを確認する
プロモーション口座やボーナス専用口座で制限がかかっている場合は、通常の取引口座に切り替えることで解消する場合があります。ブローカーのサポートに問い合わせて確認してください。
ショート取引可能なブローカーを検討する
制限が恒久的な場合、ショート取引が制限されていないブローカーへの移行を検討してください。ただし、規制上の理由による制限の場合は、他のブローカーでも同様の制限が適用されている可能性があります。
空売り規制の背景知識
エラー140の背景にある「空売り規制」は、株式市場では古くから存在する制度です。急激な株価下落を防ぐため、金融当局が一時的にショートポジションの新規建てを禁止することがあります。2008年のリーマンショック時にはSEC(米証券取引委員会)が金融銘柄の空売りを一時禁止し、日本でも同様の措置が取られました。
FX(為替)取引ではこのような規制はほぼありませんが、CFD取引(株式CFD・商品CFDなど)では原資産の規制に準じて制限がかかることがあります。主要なFX通貨ペアでエラー140が出る場合は、規制ではなくブローカーの設定ミスの可能性が高いため、サポートに問い合わせてください。
XMでは主要FX通貨ペア・貴金属・指数CFD・エネルギーCFDのショート取引に制限はありません。一部の株式CFDについては個別の制限がある場合がありますので、取引条件ページで対象銘柄を確認してください。
エラー140発生時に確認すべきチェックリスト
エラー140が発生した場合、以下の順番で確認してください。
- 銘柄の種類を確認:FX通貨ペアか、株式CFDか、コモディティCFDか。FX通貨ペアでの発生は非常に稀で、CFD銘柄で発生するケースがほとんどです。
- ブローカーのメール・通知を確認:空売り制限は事前に通知されるのが一般的です。メールボックスやプラットフォーム内通知を確認してください。
- 気配値の「仕様」を確認:MT4の気配値ウィンドウで対象銘柄を右クリック→「仕様」を確認。「取引モード」の欄に「Long only」と表示されている場合、ショート制限が有効です。
- 時間帯による制限でないか確認:一部の銘柄は特定の取引時間外にショート制限がかかることがあります。取引時間内に再度試してください。
- 口座タイプの確認:プロモーション口座やデモ口座で制限がかかっていないか確認してください。別の口座で同じ銘柄のショートが可能な場合、口座タイプの問題です。
エラー140をEAで処理する方法
EA運用中にエラー140が返された場合、そのまま無限リトライするのは無意味です。エラー140は一時的なサーバー混雑ではなく、銘柄や口座に対する恒久的(または一定期間の)制限であるため、リトライしても結果は変わりません。
EAのコードでは、エラー140を検知した場合にアラートを出して当該銘柄の取引を一時停止する処理を実装してください。if(GetLastError()==140){ Alert("ショート制限中: ", Symbol()); return; }のように、ユーザーに通知した上で処理を中断するのが適切です。
ショート制限と「クローズのみ」モードの違い
エラー140(Long positions only)と似た状況として「クローズオンリー(Close only)」モードがあります。クローズオンリーは新規注文(買い・売りとも)が禁止され、既存ポジションの決済のみが許可される状態です。口座の証拠金維持率が極端に低下した場合や、ブローカーの判断でアカウントに制限がかかった場合に発生します。エラー140はショートのみの制限で買いは可能ですが、クローズオンリーでは買いも売りもできません。MT4では異なるエラーコード(エラー133: Trade is disabled)が返されるため、区別は容易です。
よくある質問
XMは主要FX通貨ペアでリクオートなし・注文拒否なしのポリシーを採用しており、ロング・ショートともに制限なく取引できます。55以上の通貨ペアと1,000以上のCFD銘柄を提供しています。
XM公式サイトで口座開設(無料)※ XMは日本の金融庁に未登録の海外FX業者です。取引にはリスクが伴います。
FX(外国為替証拠金取引)は元本保証のない金融商品です。レバレッジにより、預けた証拠金以上の損失が発生する可能性があります。余剰資金の範囲で取引を行ってください。当サイトで紹介する海外FX業者は日本の金融庁に未登録であり、日本の投資者保護基金の対象外です。当サイトの情報は一般的な情報提供を目的としたものであり、特定の業者の利用を推奨するものでも、個別の売買助言でもありません。