iOBV 関数
この関数は、任意に設定したパラメータのOBV (オン バランス ボリューム) の値を計算して、その値を取得します。OBVはボリューム系のインジケータに分類されます。
OBV
OBV (On Balance Volume [オン バランス ボリューム]) は、出来高の推移を追跡する「出来高累積」指標です。出来高とは、ある通貨ペアにおいて特定の期間内に取引された数量のことです。
OBVは、株式市場の出来高が株価の値動きに影響力を持つという考えに基づいています。OBVが上昇している場合は、買い圧力が強くなっていると判断できます。逆に、OBVが下降している場合は、売り圧力が強くなっていると判断できます。
OBVは、主に株取引で用いられていますが、FXトレードでも参考にすることができます。ただし、FX市場の出来高は統一的に集計されていないため、業者ごとに異なる可能性があります。
MT4でチャート上にOBVをプロットする時はナビゲーター中のインディケータ → 「ボリューム」 → 「On Balance Volume」インジケータを使用します。
(OBVの計算式)
OBVの計算式は、以下のようになります。
① 現在の価格が 1つ前の価格よりも高い場合
OBV = 1つ前のOBV + 現在の取引量
② 現在の価格が 1つ前の価格よりも低い場合
OBV = 1つ前のOBV - 現在の取引量
③ 現在の価格が 1つ前の価格と同じ場合
OBV = 1つ前のOBV
基準日(計算の最初)の OBVは 0として計算されます。
価格は通常、終値が使用されますが、始値、高値、安値も使用することができます。
例) OBVを計算した結果は次のようになります。
日付 | 価格(終値) | 出来高 | OBV |
---|---|---|---|
1/1 | 100 | 1000 | 0 |
1/2 | 105 | 1200 | 1200 |
1/3 | 103 | 800 | 400 |
1/4 | 103 | 600 | 400 |
1/5 | 106 | 1500 | 1900 |
(OBVの使い方)
OBVは、価格の変動と出来高の変動を用いてトレンドの方向性を判断するための指標です。
① OBVが価格と同じように上昇・下降している場合は、トレンドが強いと判断できます。
② OBVが価格と逆方向に動いている場合は、ダイバージェンス(ずれ)が発生していると判断できます。ダイバージェンスは、トレンドの転換点を予測する手がかりになります。
データ型と構成・戻り値
double iOBV(①, ②, ③, ④);
戻り値は、任意に設定したパラメータのOBVの値を計算して、その値を返します。
引数 [4]
iOBV関数は 4個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | symbol | string | - | - | 計算対象の通貨ペア名。 「NULL」は選択チャートの通貨ペア名が選択されます。 |
② | timeframe | int | - | - | 時間軸。ENUM_TIMEFRAMES 列挙値から選択。 「0」は現在チャートの時間軸が選択されます。 |
③ | applied_price | int | - | - | 適用価格。 ENUM_APPLIED_PRICE 列挙値から選択。 |
④ | shift | int | - | - | OBVの値を算出するバーの位置。 現在のバーから指定した時間軸のバー数だけ過去へシフトします。例えば、現在のバーからの計算は「0」、 1つ前のバーから計算する時は「1」になります。 |
使用例
iOBV関数によるOBV値の計算
iOBV関数を使って、現在のOBV値を計算します。
コード
// iOBV関数によるOBV値の計算
#property strict
void OnInit() {
double OBV = iOBV(NULL, 0, 0, 0);
Print("OBV値:", OBV);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)