iAD 関数
この関数は、任意に設定したパラメータのADの値を計算して、その値を取得します。ADはボリューム系のインジケータに分類されます。
AD
AD (Accumulation/Distribution [累積/分散]) は、一定期間の価格変動量と出来高を組み合わせて、その通貨ペアの買われ過ぎや売られ過ぎの状態を示すボリューム系の指標です。ADは、価格と出来高の変動が同じ方向にある場合に正の値を持ち、逆方向にある場合に負の値を持ちます。そして、トレンドの転換点を示すことがあります。価格が上昇傾向にある場合、出来高が多いときには買い圧力が高いことを示し、ADの値が上昇します。一方、価格が下降傾向にある場合、出来高が多いときには売り圧力が高いことを示し、ADの値が下落します。
MT4でチャート上にADをプロットする時はナビゲーター中のインディケータ → 「ボリューム」 → 「Accumulation/Distribution」インジケータを使用します。
(ADの計算式)
ADの計算式は、以下のようになります。
AD = ( ( ( CP - LP ) - ( HP - CP ) ) ÷ ( HP - LP ) ) ✕ VO + 1つ前のAD
CP:終値 (直近のバーの計算は、現在の価格)
HP:高値
LP:安値
Vo:出来高
(ADの使い方)
ADは、特定の期間における出来高と価格変動を考慮して、買われ過ぎ・売られ過ぎの状況を把握することができます。
ADが高い水準にある場合、出来高が多くなり、相場の方向性が強まる可能性があります。一方、ADが低い水準にある場合、出来高が少なくなり、相場の方向性が定まらない可能性があります。したがって、トレンド判断やトレンドの転換点の確認に役立ちます。
また、ADはOBV (On Balance Volume) と似た特徴を持ちますが、OBVが累積出来高を用いるのに対して、ADは中間値と出来高の関係を用いる点で異なります。従って、OBVが示す売買圧力とは異なる情報を提供することがあります。
データ型と構成・戻り値
double iAD(①, ②, ③);
戻り値は、任意に設定したパラメータのADの値を計算して、その値を返します。
引数 [3]
iAD関数は 3個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | symbol | string | - | - | 計算対象の通貨ペア名。 「NULL」は選択チャートの通貨ペア名が選択されます。 |
② | timeframe | int | - | - | 時間軸。ENUM_TIMEFRAMES 列挙値から選択。 「0」は現在チャートの時間軸が選択されます。 |
③ | shift | int | - | - | ADの値を算出するバーの位置。 現在のバーから指定した時間軸のバー数だけ過去へシフトします。たとえば、現在のバーからの計算は「0」、 1つ前のバーから計算する時は「1」になります。 |
使用例
iAD関数によるAD値の計算
iAD関数を使って、現在のAD値を計算します。
コード
// iAD関数によるAD値の計算
#property strict
void OnInit() {
double AD = iAD(NULL, 0, 0);
Print("AD値:", AD);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)