2013年08月17日
第26回 GMMA
今回は GMMA (Guppy Multi Moving Average、複合型移動平均線) についてです。
メーンチャートに12本の指数平滑移動平均線を表示します。
(1) GMMA の計算式
短期組として6本の指数平滑移動平均線を引きます。周期は 3、5、8、10、12、15 です。
長期組として6本の指数平滑移動平均線を引きます。周期は 30、35、40、45、50、60 です。
(2) GMMA の計算
指数平滑移動平均線の計算になります。 こちら を参照して下さい。
(3) GMMA の表示
(3-1) GMMA の表示
Sub GMMA表示(ch, 終値配列, 実表示本数)
j = 2
For i = 1 To 6
周期 = 配列プロパティ取得("GMMA", j)
If 周期 = 0 Then Exit For
配列 = 指数平滑移動平均線算出(終値配列, 周期, 実表示本数)
Set sr = ch.SeriesCollection.NewSeries
sr.ChartType = xlLine
sr.Values = 配列
sr.Name = "EMA" & 周期
sr.Border.Weight = 1
sr.Border.Color = RGB(0, 0, 255)
j = j + 1
Next i
j = 8
For i = 1 To 6
周期 = 配列プロパティ取得("GMMA", j)
If 周期 = 0 Then Exit For
配列 = 指数平滑移動平均線算出(終値配列, 周期, 実表示本数)
Set sr = ch.SeriesCollection.NewSeries
sr.ChartType = xlLine
sr.Values = 配列
sr.Name = "EMA" & 周期
sr.Border.Weight = 1
sr.Border.Color = RGB(255, 0, 255)
j = j + 1
Next i
End Sub
短期組の6本は青で表示します。長期組の6本はピンクで表示します。Series オブジェクトの Border の Color で色を指定します。
12本の移動平均線を表示するため、細い線で表示します。Series オブジェクトの Border の Weight を 1 にします。
(3-2) 指数平滑移動平均線算出
Function 指数平滑移動平均線算出(データ配列, 周期, 実表示本数)
n = UBound(データ配列)
ReDim a(1 To 実表示本数, 1 To 1)
表示開始行 = n - 実表示本数 + 1
移動平均 = データ配列(1, 1)
j = 1
For i = 1 To n
  移動平均 = (2 * データ配列(i, 1) + (周期 - 1) * 移動平均) / (周期 + 1)
  If i >= 表示開始行 Then
     a(j, 1) = 移動平均
     j = j + 1
  End If
Next i
指数平滑移動平均線算出 = a
End Function
(4) プロパティシートの設定
B16セルを TRUE にするとGMMAを表示します。FALSE で非表示です
C16セルからH16セルは短期組の周期です
I16セルからN16セルは長期組の周期です
エクセルファイルです。
    ダウンロード
前へ   次へ
【このカテゴリーの最新記事】
-
no image