2013年08月12日
第17回 ストキャスティックス
今回はストキャスティックスについてです。
0%から100%までの値をとる指標です。%Dと%Kの2本の線を表示します。
メーンチャートの下に補助チャートとして表示します。
%Dは80%を上回ると買われすぎ、20%を下回ると売られすぎをあらわします。
%Dが%Kを下から上に抜けると買いのサインです。
%Dが%Kを上から下に抜けると売りのサインです。
(1) ストキャスティックス の計算式
本日のストキャスティックス=分子×100÷分母
分母=過去n日間のなかで最高値−過去n日間のなかで最安値
分子=本日の終値
n日間の値幅に対して本日の終値の位置を%であらわす指標です。
本日の終値がn日間の最高値のときは100、最安値のときは0になります。
期間を変えて2本の線%Dと%Kを引きます。
%Dは3日等の期間、%Kは%Dよりも長い期間で5日等をとります。
(2) ストキャスティックス の計算
Private Function ストキャスティックス算出(データ配列, 周期, 実表示本数)
n = UBound(データ配列)
ReDim a(1 To 実表示本数, 1 To 1)
j = 1
For i = n - 実表示本数 + 1 To n
  開始行 = i - 周期 + 1
  If 開始行 < 1 Then 開始行 = 1
    終了行 = i
  高値 = データ配列(i, データの高値)
  安値 = データ配列(i, データの安値)
  終値 = データ配列(i, データの終値)
  For k = 開始行 To 終了行 - 1
   If 高値 < データ配列(k, データの高値) Then 高値 = データ配列(k, データの高値)
   If 安値 > データ配列(k, データの安値) Then 安値 = データ配列(k, データの安値)
  Next k
  分子 = 終値 - 安値
  分母 = 高値 - 安値
  If 分母 > 0 Then a(j, 1) = 分子 * 100 / 分母
  j = j + 1
Next i
ストキャスティックス算出 = a
End Function
入力引数のデータ配列は4本値の配列です。
入力引数の周期は3や5等の期間です。プロパティシートで設定します。
入力引数の実表示本数はチャートに表示する本数です。
出力はストキャスティックス の配列です。
(3) ストキャスティックス の表示
Sub ストキャスティックス表示(データ配列, 実表示本数)
Set ch = 補助チャート追加("ストキャスティックス")
D周期 = 配列プロパティ取得("ストキャスティックス", 2)
配列 = ストキャスティックス算出(データ配列, D周期, 実表示本数)
Set sr = ch.seriescollection.NewSeries
sr.ChartType = xlLine
sr.Values = 配列
sr.Name = "%D" & D周期
K周期 = 配列プロパティ取得("ストキャスティックス", 3)
配列 = ストキャスティックス算出(データ配列, K周期, 実表示本数)
Set sr = ch.seriescollection.NewSeries
sr.ChartType = xlLine
sr.Values = 配列
sr.Name = "%K" & K周期
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
%D線と%K線を表示します。
20%と80%の位置に横線を引きます。
(4) プロパティシートの設定
B12セルをTRUE にするとストキャスティックスを表示します。FALSE で非表示です
C12セルは%Dの周期です。
D12セルは%Kの周期です。
エクセルファイルです。
    ダウンロード
前へ   次へ
【このカテゴリーの最新記事】
-
no image