ATRについてです。計算式、エクセルVBA、チャートを掲載。
ATRは、トレンドの有無、相場の大きさ、移動の振幅を表す指標で、値が大きいほど大きな相場、逆に小さい場合には相場が膠着状態にあることを示します。
移動平均線やMACDなどのトレンド指標のように、相場の上昇時に指標の値が上がる、相場下降時に指標の値が下がるというラインではなく、上昇・下降の判断はせずにそのトレンドの大きさ、移動の振幅のみをライン化しています。
ATRの計算方法(Nは採用本数)
a:当足(現在のロウソク足)の高値と安値の値幅
b:直前の足の終値と当足高値の値幅(絶対値)
c:直前の足の終値と当足安値の値幅(絶対値)
ATR=a,b,cのもっとも大きいもののN本移動平均線
※各足ごとにa,b,cのうちもっとも大きいものを算出し、その値をN本平均する。
ATRのチャート
(ATR:採用本数10)
(ATR:採用本数50)
ATRのVBAコード
‘※ エクセルの1列目(A列)に行番号、2列目(B列)に日時、
‘※ 3列目(C列)~6列目(F列)に始値・高値・安値・終値
‘********************************
‘ atr :ATRの採用本数
‘ num:現在の行
‘ r_now:現在値
‘ cell_max:最大値書き込み列
‘ cell_atr:ATR書き込み列
‘********************************
If num >= 2 And .Cells(num – 1, 6) <> “” Then
max_r1 = Cells(num, 4) – Cells(num, 5)
max_r2 = Abs(Cells(num – 1, 6) – Cells(num, 4))
max_r3 = Abs(Cells(num – 1, 6) – Cells(num, 5))
Cells(num, cell_max) = Application.Max(max_r1, max_r2, max_r3)
End If
If num – atr >= 2 Then
Cells(num, cell_atr) = Application.Average(Range(Cells(num – _
(atr – 1), cell_max), Cells(num, cell_max)))
End If
(外部リンク)テクニカル指標(Wikipedia)