2013年08月12日
第16回 RSI
今回はRSI (Relative Strength Index、相対力指数) についてです。
0%から100%までの値をとる指標です。80%を上回ると買われすぎ、20%を下回ると売られすぎをあらわします。メーンチャートの下に補助チャートとして表示します。
(1) RSI の計算式
いいかえると
RSI=分子×100÷分母
分母=n日間の日々の値幅の合計
分子=n日間のなかで値上がりした日の値幅の合計
n日間、毎日上がり続けた場合は100になり、毎日下がり続けた場合は0になります。
n日間で値上がりした日の割合を日々の値幅で加重平均したものといえます。
(2) RSI の計算
Function RSI算出(データ配列, 周期, 実表示本数)
n = UBound(データ配列)
ReDim a(1 To 実表示本数, 1 To 1)
j = 1
For i = n - 実表示本数 + 1 To n
  開始行 = i - 周期 + 1
  終了行 = i
  If 開始行 < 2 Then 開始行 = 2
  分子 = 0
  分母 = 0
  For k = 開始行 To 終了行
   価格差 = データ配列(k, 1) - データ配列(k - 1, 1)
   If 価格差 > 0 Then
     分子 = 分子 + 価格差
     分母 = 分母 + 価格差
   End If
   If 価格差 < 0 Then
     分母 = 分母 - 価格差
   End If
  Next k
  If 分母 > 0 Then a(j, 1) = 分子 * 100 / 分母
    j = j + 1
Next i
RSI算出 = a
End Function
入力引数のデータ配列は終値の配列です。
入力引数の周期は14等の期間です。プロパティシートで設定します。
入力引数の実表示本数はチャートに表示する本数です。
出力はRSI の配列です。
(3) RSI の表示
Sub RSI表示(終値配列, 実表示本数)
Set ch = 補助チャート追加("RSI")
i = 2
周期 = 配列プロパティ取得("RSI", i)
While 周期 > 0
  RSI配列 = RSI算出(終値配列, 周期, 実表示本数)
  Set sr = ch.seriescollection.NewSerie s
  sr.ChartType = xlLine
  sr.Values = RSI配列
  sr.Name = "RSI" & 周期
  i = i + 1
  周期 = 配列プロパティ取得("RSI", i)
Wend
ch.Axes(xlValue, xlPrimary).MinimumScale = 0
ch.Axes(xlValue, xlPrimary).MaximumScale = 100
ch.Axes(xlValue, xlPrimary).MajorUnitIsAuto = False
ch.Axes(xlValue, xlPrimary).MajorUnit = 50
補助チャート後処理 ch
水平線表示 ch, 20, RGB(255, 0, 0)
水平線表示 ch, 80, RGB(255, 0, 0)
End Sub
指定された期間の折線を複数表示します。
20%と80%の位置に横線を引きます。
(4) プロパティシートの設定
B11セルをTRUE にするとRSIを表示します。FALSE で非表示です
C11セル以降は周期です。何本でも表示できます
エクセルファイルです。
    ダウンロード
前へ   次へ
【このカテゴリーの最新記事】
-
no image