エラー131「Invalid trade volume」とは
MT4でエラーコード131(メッセージ:Invalid trade volume)は、注文で指定したロット数(取引量)が無効であることを示すエラーです。口座タイプや銘柄ごとに定められた最小ロット・最大ロット・ロットステップの範囲外の値を指定した場合に、サーバーが注文を拒否します。
このエラーは手動注文でも発生しますが、EA(自動売買プログラム)による発注で特に多く報告されています。口座残高やリスク率から動的にロット数を計算するロジックで、丸め処理を行わないと不正な小数点以下の値が生成されるためです。
エラー131の主な原因
- 最小ロット未満の値を指定:スタンダード口座で
0.001ロットを指定した場合など。主要業者の最小ロットは通常0.01(スタンダード口座で1,000通貨相当)です。 - 最大ロットを超える値を指定:
100ロットを指定したが、1回の注文の最大が50ロットの場合。最大ロットは銘柄ごと・口座タイプごとに異なります。 - ロットステップに合わない値:ステップが
0.01のとき、0.015や0.025のような中間値を指定した場合。 - EAのロット計算の丸め処理不足:EAが計算した値が浮動小数点の丸め誤差で
0.10000000001のような値になるケース。
ここ大事だよ。EA使ってる人はNormalizeDoubleを必ず入れてね。これ入れないと同じエラーが何度も出るから。手動注文の人は仕様タブ見れば一発で解決するよ。
- 銘柄変更後の設定ミス:他の銘柄で使っていたロット数をそのままコピーし、新銘柄のロットステップが異なる場合。
- マーケット情報のキャッシュずれ:MT4を長時間起動している場合、銘柄情報のキャッシュが古くなっていることがあります。
解決手順
1. 通貨ペア・銘柄の取引仕様を確認する
MT4で対象の銘柄を右クリックし「仕様」を選択します。表示されるウィンドウで以下の3つの値を確認します。
最小ロット(Minimal volume): 0.01
最大ロット(Maximal volume): 50.00
ロットステップ(Volume step): 0.01
値は銘柄ごとに異なります。株式CFDや仮想通貨CFDでは、FX通貨ペアと異なる数値が設定されている場合があります。
2. 注文のロット数を修正する
最小ロット以上・最大ロット以下で、ロットステップの倍数になる値に修正して再注文します。電卓アプリなどで(指定ロット数 ÷ ロットステップ)が整数になるかを確認すると確実です。
3. EAの場合はロット正規化処理を追加する
NormalizeDouble()やMathFloor()を使い、ロットステップに合うよう丸め処理を追加します。以下はMQL4での典型的な正規化コードです。
double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
double minLot = MarketInfo(Symbol(), MODE_MINLOT);
double maxLot = MarketInfo(Symbol(), MODE_MAXLOT);
double lots = MathFloor(calculatedLots / lotStep) * lotStep;
lots = NormalizeDouble(lots, 2);
if(lots < minLot) lots = minLot;
if(lots > maxLot) lots = maxLot;
4. MT4を再起動して銘柄情報を再取得する
仕様タブの情報がサーバー側と一致していない可能性がある場合、MT4を再起動するか、気配値表示ウィンドウで対象銘柄を削除・再追加して情報を再取得します。
口座タイプ別のロット仕様(一般的な目安)
以下は主要海外FX業者で見られる一般的なロット仕様です。実際の値は口座ごとに異なるため、各業者の公式情報を確認してください(2026年5月時点の一般情報)。
- マイクロ口座(セント口座含む):1ロット=1,000通貨。最小0.01ロット(10通貨相当)、最大ロットは業者により100〜500ロット程度。
- スタンダード口座:1ロット=100,000通貨。最小0.01ロット(1,000通貨相当)、最大ロットは業者により50〜100ロット程度。
- ゼロ口座・RAW口座:1ロット=100,000通貨。最小0.01ロット。狭いスプレッドの代わりに取引手数料が別途発生するケースが多い。
- 株式CFD:1ロットあたりの株数が銘柄ごとに定められており、最小ロットは0.1や1が一般的。
- 仮想通貨CFD:最小ロットは0.01が多いが、銘柄により異なる。
マイクロ口座とスタンダード口座はMT4上の最小ロット表記が同じ0.01でも、1ロットあたりの通貨量が異なります。マイクロ口座の0.01ロットは10通貨相当、スタンダード口座の0.01ロットは1,000通貨相当です。同じロット数を指定しても実際の取引量とリスクが大きく異なる点に注意してください。
海外FX業者は最大1,000倍以上の高レバレッジを提供するケースがありますが、高レバレッジと大きなロット数を組み合わせた取引は、短時間で証拠金が失われる可能性があります。エラー131を回避するだけでなく、リスク管理の観点からも適切なロット数を指定する姿勢が重要です。
これやったら負けるからね。エラー131を解消するためにロット数を上げるのは本末転倒。まず資金管理を固めて、その範囲内で正しいロット数を指定する。順番を間違えないでね。
ロット数の計算例
口座残高からロット数を動的に決定する際の計算例を示します。2026年5月時点の一般情報をもとに、最小ロット0.01・ステップ0.01の銘柄で試算しています。
- 例1:証拠金10万円、レバレッジ500倍、USD/JPY 155円で1%リスクのロット:1%リスク分を約1,000円と想定し、損切幅を30pipsと仮定した場合、概算ロットは0.03前後。浮動小数点の計算結果が0.0333...のようになる場合は0.03に切り捨てて注文します。
- 例2:証拠金30万円、EURUSDで0.5%リスク、損切幅50pips:リスク額1,500円を50pipsで割り、1pipの価値から逆算。計算結果が0.029のような値になる場合は0.02に丸めて注文。
- 例3:最大ロットを超える場合の分割:計算結果が60ロットで最大ロットが50の場合、50ロットと10ロットの2回に分けて発注します。
類似エラーとの違い
エラー131はロット数の指定エラーですが、関連する他のエラーコードと症状が似ているため、混同を避けるポイントをまとめます。
- エラー130(Invalid stops):ロット数は問題ないが、ストップロス・テイクプロフィットの価格指定が不正な場合。ストップレベル未満の距離で設定すると発生。
- エラー134(Not enough money):ロット数は有効だが、証拠金が不足している場合。口座残高とレバレッジのバランスを見直す必要がある。
- エラー4051(Invalid function parameter value):EAで関数の引数が不正な値(負のロット数など)の場合。
エラーコードに加え、MT4のジャーナルタブで発生時の注文パラメータを確認すると、問題の切り分けが容易になります。
ぶっちゃけ、エラー131は初心者より EA使いの中級者に多いエラーだよ。手動注文なら仕様タブ見て範囲内のロットを入れるだけ。そんなに怖がらなくて大丈夫。
よくあ���質問
MT4/MT5のエラーが頻発する場合、サーバー環境や口座設定に問題がある可能性があります。XMは日本語サポート完備で、口座開設ボーナス15,000円を使えば自己資金を投入する前に取引環境を試すことができます。
XM公式サイトで口座開設(無料)※ XMは日本の金融庁に未登録の海外FX業者です。取引にはリスクが伴います。
FX(外国為替証拠金取引)は元本保証のない金融商品です。レバレッジにより、預けた証拠金以上の損失が発生する可能性があります。余剰資金の範囲で取引を行ってください。当サイトで紹介する海外FX業者は日本の金融庁に未登録であり、日本の投資者保護基金の対象外です。当サイトの情報は一般的な情報提供を目的としたものであり、特定の業者の利用を推奨するものでも、個別の売買助言でもありません。