2011/8/18
Schaff Trend Cycle
Doug Schaffが開発したテクニカル指標です。簡単に言うとMACDの2重ストキャスティックスです。
0〜100の間の値を取り0と100に貼りつくことが多い指標です。0付近では下げトレンド、100付近で上げトレンドと判断します。
使用する関数
または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。
OFFSET関数を使って任意のパラメータのSchaff Trend Cycleを計算できるようにしています。
H4,I4,K4セルはSchaff Trend Cycleの計算に使うパラメータを指定するセルとします。
G列でTypicalPriceを計算します。簡単な計算式なので式の説明は省略します。
G5セルをG6セルにコピーします。
H〜J列を使ってG列のMACDを計算します。
H列は短期の指数移動平均、I列は長期の指数移動平均、J列はH列とI列の差(MACD)を計算します。式の説明は省略します。
K列でJ列のストキャスティックス%Kを計算します。
計算式は
L4セルでL列とN列で使う平滑化定数を計算します。
平滑化定数はストキャスティックス%Kの計算日数から計算し、α=2÷(1+計算日数×0.5)で計算します。
計算式は
L列でK列の指数移動平均を計算します。初項はK列の値、平滑化定数はL4セルの値を使うので、 計算式は
M列でL列のストキャスティックス%Kを計算します。 計算式は
N列でSchaff Trend Cycleを計算します。Schaff Trend CycleはM列の指数移動平均で、計算方法はL列と同じです。
計算式は赤枠内の
G6〜N6セルをコピーして、G7以下のセルペーストすればSchaff Trend Cycleが計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
0〜100の間の値を取り0と100に貼りつくことが多い指標です。0付近では下げトレンド、100付近で上げトレンドと判断します。
計算式
TP = (高値 + 安値 + 終値)
diff = TPのN日指数移動平均 - TPのM日指数移動平均
frac1 = diffのL日ストキャスティックス%K
平滑化定数 α = 2 ÷ (1 + L × 0.5)
PF1 = frac1の指数移動平均(α)
frac2 = PF1のL日ストキャスティックス%K
STC = frac2の指数移動平均(α)
指数移動平均(α)はαを平滑化定数とした指数移動平均という意味
N,M,Lは任意 但し、N<Mとする
diff = TPのN日指数移動平均 - TPのM日指数移動平均
frac1 = diffのL日ストキャスティックス%K
平滑化定数 α = 2 ÷ (1 + L × 0.5)
PF1 = frac1の指数移動平均(α)
frac2 = PF1のL日ストキャスティックス%K
STC = frac2の指数移動平均(α)
指数移動平均(α)はαを平滑化定数とした指数移動平均という意味
N,M,Lは任意 但し、N<Mとする
![]() |
日経平均終値とSchaff Trend Cycle
ExcelでSchaff Trend Cycleを計算する
Excelを使ってSchaff Trend Cycleを計算する手順を説明します。使用する関数
AVERAGE(数値1,数値2,…)
指定した数値や範囲内の数値の平均値を計算する。空白セルや文字列は無視して計算します。MIN(数値1,数値2,…)
指定した数値や範囲内の数値の最小値を返します。MAX(数値1,数値2,…)
指定した数値や範囲内の数値の最大値を返します。OFFSET(基準セル,行数,列数,高さ,幅)
基準セルから指定した行数、列数だけ移動したセルを参照します。または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。
IF(条件式,真の場合,偽の場合)
条件式を満たす場合は真の場合の値、満たさない場合は偽の場合の値を返します。ROW(セル)
セルの行番号を返します。何も指定しない場合はROWが書かれたセルの行番号を返します。SUM(数値1,数値2,…)
引数の合計を計算します。![]() |
H4,I4,K4セルはSchaff Trend Cycleの計算に使うパラメータを指定するセルとします。
G列でTypicalPriceを計算します。簡単な計算式なので式の説明は省略します。
G5セルをG6セルにコピーします。
H〜J列を使ってG列のMACDを計算します。
H列は短期の指数移動平均、I列は長期の指数移動平均、J列はH列とI列の差(MACD)を計算します。式の説明は省略します。
K列でJ列のストキャスティックス%Kを計算します。
計算式は
(J6-MIN(OFFSET(J6,0,0,-$K$4,1)))/(MAX(OFFSET(J6,0,0,-$K$4,1))-MIN(OFFSET(J6,0,0,-$K$4,1)))*100
です。L4セルでL列とN列で使う平滑化定数を計算します。
平滑化定数はストキャスティックス%Kの計算日数から計算し、α=2÷(1+計算日数×0.5)で計算します。
計算式は
=2/(1+K4*0.5)
になります。L列でK列の指数移動平均を計算します。初項はK列の値、平滑化定数はL4セルの値を使うので、 計算式は
=IF(ROW()-ROW($K$4)<SUM($I$4:$K$4),K6,L5+(K6-L5)*$L$4)
となります。M列でL列のストキャスティックス%Kを計算します。 計算式は
(L6-MIN(OFFSET(L6,0,0,-$K$4,1)))/(MAX(OFFSET(L6,0,0,-$K$4,1))-MIN(OFFSET(L6,0,0,-$K$4,1)))*100
です。N列でSchaff Trend Cycleを計算します。Schaff Trend CycleはM列の指数移動平均で、計算方法はL列と同じです。
計算式は赤枠内の
=IF(ROW()-ROW($A$4)<SUM($I$4:$K$4,$K$4)-1,M6,N5+(M6-N5)*$L$4)
となります。G6〜N6セルをコピーして、G7以下のセルペーストすればSchaff Trend Cycleが計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
↑ TOP PAGE