過度な売買状況を判断 iDeMarker 関数

関数

テクニカルインジケータ関数

iDeMarker 関数

 この関数は、任意に設定したパラメータのDeMarker(デマーカー)の値を計算して、その値を取得します。DeMarkerはオシレータ系のインジケータに分類されます。

DeMarker

 DeMarker(デマーカー)は、相場の上昇と下落の強さを数値化してグラフに表示し、売られすぎや買われすぎの状態を判断します。

 DeMarkerは、0から 1の範囲で変動して、一般的には0.3以下が売られすぎ、0.7以上が買われすぎとみなされます。売られすぎや買われすぎの状態から反転するタイミングをエントリーや決済のポイントとすることができます。

MT4でチャート上にDeMarkerをプロットする時はナビゲーター中のインディケータ → 「オシレーター」 → 「DeMarker」インジケータを使用します。

(DeMarkerの計算式)

 DeMarker(デマーカー)の計算方法は、以下のとおりです。

DeMarker = SMA(DeMax) ÷ ( SMA(DeMax) + SMA(DeMin) )
DeMax = (対象のバーの高値) - (1つ前のバーの終値)
DeMin = (1つ前のバーの終値) - (対象のバーの安値)
 DeMax、DeMinの値がマイナスになる時は 0とします。
SMA(DeMax):N期間のDeMaxの単純移動平均
SMA(DeMin):N期間のDeMinの単純移動平均。
N:期間。通常、日足チャートの場合、14日間が使用されます。

(DeMarkerの使い方)

 DeMarkerは、0から1の範囲で変動し、一般的には0.3以下が売られすぎ、0.7以上が買われすぎとみなされます。売られすぎや買われすぎの状態から反転するタイミングをエントリーや決済のポイントとすることができます。

 例えば、DeMarkerが0.7を上回って買われすぎになった後、0.7を下回って戻ってきたときは売りシグナルとなります。逆に、DeMarkerが0.3を下回って売られすぎになった後、0.3を上回って戻ってきたときは買いシグナルとなります。

データ型と構成・戻り値

double iDeMarker(①, ②, ③, ④);

 戻り値は、任意に設定したパラメータのDeMarkerの値を計算して、その値を返します。

引数 [4]

 iDeMarker関数は 4個の引数で構成されます。


引数名データ型単位初期値説明
symbolstring計算対象の通貨ペア名。
「NULL」は選択チャートの通貨ペア名が選択されます。
timeframeint時間軸。ENUM_TIMEFRAMES 列挙値から選択。
「0」は現在チャートの時間軸が選択されます。
periodintDeMarkerの計算期間。DeMarkerを計算するバーの数を数値で設定します。
shiftintDeMarkerの値を算出するバーの位置。
現在のバーから指定した時間軸のバー数だけ過去へシフトします。例えば、現在のバーからの計算は「0」、 1つ前のバーから計算する時は「1」になります。

使用例

iDeMarker関数によるDeMarker値の確認

 iDeMarker関数を使って、日足チャートの14日間のDeMarkerの値を計算します。

コード

// iDeMarker関数によるDeMarker値の確認
#property strict
void OnInit() {

   double DM = iDeMarker(NULL, 0, 14, 0);

   Print("DeMarker値:", DM);
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました