MT5のOBVの使い方|FXの出来高はティック数である点

OBV(On Balance Volume)は、値上がりした足の出来高を足し、値下がりした足の出来高を引いて積み上げる指標です。価格ではなく出来高の偏りを線にします。

ただしFXで使う場合は前提が1つ変わります。MT5が表示する出来高は、実際の取引量ではなく「ティックボリューム」=価格が更新された回数です。株式のOBVと同じ感覚では読めません。

この記事では、この違いを踏まえたうえでの表示手順、読み方、MQL5からの取得方法を扱います。

(確認環境:MetaTrader 5 / Windows 11)

FXのOBVは「価格更新の回数」を積み上げている

株式では、出来高は実際に売買された株数です。OBVはその資金の偏りを見る指標として成立します。

FXには中央の取引所がないため、業者が把握できるのは自社に流れた価格の更新回数だけです。MT5でもこれを「ティックボリューム」と呼びます。

  株式の出来高 FXのティックボリューム
中身 売買された株数 価格が更新された回数
大きい時の意味 資金が多く動いた 値動きが活発だった
業者による違い ない(取引所が同一) ある(業者ごとに配信が違う)

3行目が実用上いちばん効きます。同じ時間帯でも業者が違えばティックボリュームは一致しません。他人のチャートとOBVの形が違っても、設定ミスとは限りません。

MT5で表示する手順

  1. メニューの「挿入」→「インディケータ」→「ボリューム」→「On Balance Volume」を選ぶ
  2. 「ボリュームの種類」を確認する
  3. 「OK」を押す

トレンド系でもオシレーターでもなく、「ボリューム」の分類にあります。期間の設定はありません。OBVは期間で平均する指標ではなく、単純に足し引きを積み上げていくためです。

読み方は「価格との食い違い」を見る

OBVの絶対値には意味がありません。計算の開始位置によって数値が変わるためです。見るのは方向と、価格との食い違いです。

状態 一般的な解釈
価格もOBVも高値を更新 方向に沿って動いている
価格は高値更新、OBVは更新せず ダイバージェンス。勢いの減衰とされる
価格は横ばい、OBVは上昇 先行して偏りが出ているとされる

いずれもそう解釈されることが多いという話であり、そうなると決まっているわけではありません。特にFXでは中身がティックボリュームなので、「資金が入っている」とまでは言えません。言えるのは「値動きが活発だった」までです。

単独では使いにくい

OBVは方向の強さも値動きの幅も示しません。食い違いが出たという情報だけでは、入る根拠としては薄いままです。

OBVは他の指標が出した判断を確認する側に置くと役割がはっきりします。

MQL5から値を取る場合

int handle = iOBV(_Symbol, _Period, VOLUME_TICK);

double buf[];
if(CopyBuffer(handle, 0, 0, 100, buf) <= 0)
   return(0);

引数は銘柄・時間足・ボリュームの種類の3つです。期間の引数はありません。バッファは1本なので番号は0を指定します(MQL5リファレンス iOBV)。

第3引数には実ボリュームを指定することもできますが、FXの銘柄では実ボリュームが配信されず0になることがあります。公式のサンプルコードでも VOLUME_TICK が既定値として使われています。取得した値が全て0になる場合は、まずここを疑ってください。

値が取れない時の切り分けはMQL5でiCustom・CopyBufferの値が取れない原因にまとめています。

OBVの限界

  • FXでは出来高そのものを見ていない — 中身はティック数
  • 業者間で値が一致しない — 他人のチャートと比較できない
  • 絶対値に意味がない — 計算の開始位置で変わる
  • 横ばいでも上下しつづける — 方向感のない場面では判断に使えない

まとめ

  1. OBVは出来高を足し引きして積み上げる指標。期間の設定は無い
  2. FXの出来高はティックボリューム=価格更新の回数。株式とは中身が違う
  3. 業者ごとに値が違うため、他人のチャートとは一致しない
  4. 見るのは絶対値ではなく、方向と価格との食い違い
  5. MQL5では iOBV。第3引数は VOLUME_TICK が基本

本記事は指標の計算方法と操作手順を説明したものであり、特定の売買を推奨するものではありません。投資判断はご自身の責任で行ってください。テクニカル指標は相場の状態を可視化する道具であり、将来の値動きや取引の成果を保証するものではありません。