リターンコード10016とは
MT5でリターンコード10016(メッセージ:TRADE_RETCODE_INVALID_VOLUME)は、注文で指定したロット数(取引量)がシンボルの許容範囲外、またはステップ単位に合致していない場合に発生します。MT4のエラー131(Invalid trade volume)に相当するエラーです。
原因
- 最小ロット数未満:指定したロット数がシンボルの最小取引量を下回っている。シンボルごとに最小ロットが異なり、FX通貨ペアは0.01、CFDは0.1、株式は1.0などの場合があります。
- 最大ロット数超過:指定したロット数がシンボルの最大取引量を超えている。ブローカーによって最大50ロット、100ロット、500ロットなど制限が異なります。
- ステップ単位不一致:ロットステップ(増減単位)に合致していない。ステップが0.01の場合、0.015や0.123のような中間値は指定できません。
- 0またはマイナス値の指定:プログラムのバグでロット数に0やマイナスの値が指定されている。
- 同一シンボルの合計上限:既存ポジションとの合算で、同一シンボルの合計取引量がブローカーの上限を超えている場合。
解決手順
シンボル仕様でロット制限を確認する
MT5の「気配値」タブから対象シンボルを右クリック→「仕様」を選択。「最小数量」「最大数量」「数量ステップ」の3つの値を確認します。指定するロット数がこの範囲内で、ステップの倍数であることを確認してください。
ロット数をステップの倍数に調整する
ステップが0.01の場合、有効なロット数は0.01、0.02、0.03...です。0.015のような中間値は使えません。EAの場合はNormalizeDouble()関数でロット数を丸めてから送信してください。
既存ポジションの合計ロットを確認する
同一シンボルで既にポジションを保有している場合、合計ロット数がブローカーの上限を超えていないか確認します。「取引」タブで現在のポジション量を確認してください。
手動で少量のロットでテストする
最小ロット数(例:0.01)で手動注文を試み、注文が通るか確認します。通る場合はEAのロット計算ロジックに問題がある可能性が高いです。
EA内でロット数を計算する場合、送信前に必ずシンボル仕様との照合を行いましょう。SymbolInfoDouble(Symbol(), SYMBOL_VOLUME_MIN)で最小ロット、SYMBOL_VOLUME_MAXで最大ロット、SYMBOL_VOLUME_STEPでステップを取得できます。
同じブローカーでもシンボルによって最小ロットが大きく異なります。FX通貨ペアは0.01ロットが一般的ですが、ゴールド(XAUUSD)は0.01〜0.1、株式CFDは1.0、仮想通貨CFDは0.001など多様です。新しいシンボルを取引する際は必ず仕様を確認してください。
よくある質問
ロット数エラーが頻発する場合、ブローカーの取引条件が合っていない可能性があります。XMはマイクロ口座で0.01ロットから取引可能で、少額から始められます。口座開設ボーナス15,000円で無料テストも可能です。
XM公式サイトで口座開設(無料)※ XMは日本の金融庁に未登録の海外FX業者です。取引にはリスクが伴います。
FX(外国為替証拠金取引)は元本保証のない金融商品です。レバレッジにより、預けた証拠金以上の損失が発生する可能性があります。余剰資金の範囲で取引を行ってください。当サイトで紹介する海外FX業者は日本の金融庁に未登録であり、日本の投資者保護基金の対象外です。当サイトの情報は一般的な情報提供を目的としたものであり、特定の業者の利用を推奨するものでも、個別の売買助言でもありません。