(6) 汎用チャート出力指標
- 1株価移動平均
Step1 : 当日を含む過去n日間の株価移動平均を求める。
※終値の取得が不可能な時は、終値合計に加算せず、値付日分にて計算する。
※分母が0の時は、移動平均値を0とする。
※上場直後等により移動平均算出分の日数が存在しない場合は、存在する日数分で計算する。週間、月間の移動平均は日々ベースで計算する。
- 2出来高移動平均
Step1 : 当日を含む過去n日間の出来高移動平均を求める。
※値付かずの場合は出来高の値を0とする。
※上場直後等により移動平均算出分の日数が存在しない場合は、存在する日数分で計算する。週間、月間の移動平均は日々ベースで計算する。
- 3RSI1(Relative Strength Index:強弱指数)
- Step1 : 当日を含まない過去n日間の終値の前日比から値上り分と値下り分の合計を求める。
1) Change(n)が値上りの場合:UpSum = UpSum + Change(n)
2) Change(n)が値下りの場合:DownSum = DownSum + Change(n)
※ DownSum に足すのはChange(n) の絶対値である。
Step2 : 当日を含まない過去n日間の平均値上り率と平均値下り率を求める。
Step3 : 当日を含めた過去n日間の値上り幅平均値と値下り幅平均値を求める。
1) Change(n)が値上りの場合:
2) Change(n)が値下りの場合:
Step4 : RSIを求める。
- 4RSI2(Relative Strength Index:強弱指数)
- Step1 : 当日を含む過去n日間の終値の前日比から値上り分と値下り分の合計を求める。
1) Change(n)が値上りの場合:UpSum = UpSum + Change(n)
2) Change(n)が値下りの場合:DownSum = DownSum + Change(n)
※ UpSumに足すのはChange(n) の絶対値である。
※ DownSumに足すのはChange(n) の絶対値である。
Step2 : RSIを求める。
- 5ノーマルストキャスティクス
-
- aKラインを求める。
- Step1 : Kライン算出期間の最高値と最安値を求め、価格レンジを求める。
- RangeC = 最終の終値 - 最安値
- RangeH = 最高値 - 最安値
- Step2 : Kラインを求める。
- bDラインを求める。
- Step1 : Dライン算出期間の価格レンジを求める。
(Kラインのstep1をDライン算出期間分繰り返す) - Step2 : Dラインを求める。
- 6スローストキャスティクス
-
- aDラインを求める。
- Step1 : Dライン算出期間の価格レンジを求める。
(Kライン《算出期間5日間》のstep1をDライン算出期間分繰り返す。) - Step2 : Dラインを求める。
- bSDラインを求める。
- 7ストキャスティクス(オリジナル)
-
- Step1 : ストキャスティクスのKラインの平均値をNEW・Kラインとする。
- Step2 : ストキャスティクスのDラインの平均値をNEW・Dラインとする。
- 8サイコロジカルライン
-
- Step1 : 算出期間(n)内で終値を前日終値と比べ、勝敗を決める。
- aClosePrice(n) > ClosePrice(n - 1)
Match(n) = Win
- bClosePrice(n) ≦ ClosePrice(n - 1)
Match(n) = Lose
- Step2 : 勝率(サイコロジカル・ライン)を求める。
- 9DMI(Directional Movement Index)
-
- a+DI(上昇の強さ)、-DI(下落の強さ)を求める。
- Step1 : 当日を含むn日間の+DM,-DM,TRを求める。
+DM = 当日の高値 - 前日の高値
-DM = 前日の安値 - 当日の安値
但し、+DMと-DMを比べて小さい方を0をする。同じ値の場合は0としない。また、+DMの値がマイナスの値の場合は、+DMの値を0とする。-DMにおいても同様。
+TR = 下の3つのうちの最大値
1. 当日の高値 - 当日の安値
2. 当日の高値 - 前日の終値
3. 前日の終値 - 当日の安値- Step2 : n日間の+DI,-DIを求める。
- bADX(相場の方向性の強さ)を求める。
- Step1 : 当日を含むm日間のDXを求める。
- Step2 : m日間のADXを求める。
|DX|はDXの絶対値を表す。
- 10RCI(Rank Correlation Index)
-
- Step1 : 算出期間内の日付の順位(1~m: 最も古い日付を1とする)を求める。
tmpOrder(n).Day = m
- Step2 : 算出期間内の日付順位の平均を求める。
- Step3 : 株価(終値)の順位(1~m: 最も低い価格を1とする)を求める。
tmpOrder(n).Price = m
- Step4 : 算出期間内の日付順位の平均を求める。
- Step5 : RCIを求める。
- 11MACD(Moving Average Convergence Divergence)
-
- Step1 : 指数平滑移動平均を求める。
-
A = B + a(C - B)
A: 当日の指数平滑移動平均値
B: 前日の指数平滑移動平均値
C: 当日の終値
a: 平滑化定数 = 2 / (n + 1)
n: 移動平均算出時の日数 -
例: ある銘柄の5日指数平滑移動平均の算出を行う場合
計算開始日のみ前日の単純移動平均を使用する。日付 終値 単純移動
平均前日指数
平滑移動平均平滑化
定数指数平滑
移動平均2003/10/29 229 - - 0.33 - 2003/10/30 230 - - 0.33 - 2003/10/31 226 - - 0.33 - 2003/11/4 229 - - 0.33 - 2003/11/5 231 229 - 0.33 - 2003/11/6 222 227.6 229 0.33 226.69 2003/11/7 219 225.4 226.69 0.33 224.1523 2003/11/10 214 223 224.1523 0.33 220.802 2003/11/11 209 219 220.802 0.33 216.9074 2003/11/12 209 214.6 216.9074 0.33 214.2979 - Step2 : EMA(1) → 終値の指数平滑移動平均(12日)を求める。
- Step3 : EMA(2) → 終値の指数平滑移動平均(26日)を求める。
- Step4 : MACDを求める。MACD = EMA(1)- EMA(2)
- Step5 : シグナルを求める。シグナル = MACDのn日単純平均
- 12ボリュームレシオ1
-
- Step1 : 当日を含めたn日間において、三種類の出来高の合計を求める。
- a前日と比べて株価が上昇した場合
UpSum = UpSum + 出来高
- b前日と比べて株価が変わらない場合
EvenSum = EvenSum + 出来高
- c前日と比べて株価が下降した場合
DownSum = DownSum + 出来高
- Step2 : n日間のボリュームレシオを求める。
- 13ボリュームレシオ2
-
- Step1 : 当日を含めたn日間において、三種類の出来高の合計を求める。
- a前日と比べて株価が上昇した場合
UpSum = UpSum + 出来高
- b前日と比べて株価が変わらない場合
EvenSum = EvenSum + 出来高
- c前日と比べて株価が下降した場合
DownSum = DownSum + 出来高
- Step2 : n日間のボリュームレシオを求める。
- 14移動平均からの乖離度
-
- Step1 : 乖離度を求める。
- 15レシオケータ
-
- Step1 : レシオケータを求める。
- 16強弱レシオ
-
- Step1 : 当日を含む過去n日間において、以下のレンジを求める。
- aRangeHO = 高値 - 始値
- bRangeOL = 始値 - 安値
- cRangeHC = 高値 - 前日の終値
- dRangeCL = 前日の終値 - 安値
- Step2 : n日間のAレシオ、Bレシオを求める。
- 17パラボリック(ロング)
-
- Step1 : 計算開始時のSAR算出用の値を取得する。
計算対処データの2日目の日付から計算を開始する(計算開始時は「上昇トレンド」として計算を開始する)。- SAR1(当日SAR)
- : 算開始時の日付の安値を設定する。
(この値は計算日のSARとしてデータを蓄積する) - EP(極大値)
- : 計算開始の日付の安値を設定する。
- AF(加速因数)
- : 0.02を設定する。
- Step2 : SAR1(当日SAR)・EP(極大値)・AF(加速因数)を計算パラメータとして用い、翌日分のSARを算出する。
- SAR(翌日SAR)
- = (EP - SAR1)× AF + SAR1
- Step1 : 計算開始時のSAR算出用の値を取得する。
- 18パラボリック(ショート)
-
- Step1 : 計算開始時のSAR算出用の値を取得する。
計算対処データの2日目の日付から計算を開始する(計算開始時は「上昇トレンド」として計算を開始する)。- SAR1(当日SAR)
- : 算開始時の日付の安値を設定する。
(この値は計算日のSARとしてデータを蓄積する) - EP(極大値)
- : 計算開始の日付の安値を設定する。
- AF(加速因数)
- : 0.02を設定する。
- Step2 : SAR1(当日SAR)・EP(極大値)・AF(加速因数)を計算パラメータとして用い、翌日分のSARを算出する。
- SAR(翌日SAR)
- = (EP - SAR1)× AF + SAR1
- Step1 : 計算開始時のSAR算出用の値を取得する。
- 19逆ウォッチ曲線
- 株価移動平均、出来高移動平均を求め、逆ウォッチ曲線を描く。
投資情報データベースに出来高がない場合は逆ウオッチ曲線を描かない。
- 20新値足
-
- Step1 : 1番目の新値足を求める。
- 1番目新値足.OPEN
- = 最初の値付日の終値
- 1番目新値足.CLOSE
- = 翌日以降で最初の値付日の終値と異なる値を持つ終値
- 転換ポイント
- = 最初の値付日の終値
- Step2 : 2番目以降の新値足を求める。
1番目の新値足を追加した日以降のデータに対して以下を繰り返す。
- Step1 : 1番目の新値足を求める。
-
- a前回新値足が陽線の場合
- 『終値 > 前回新値足』の場合(新値足の追加)
- 追加新値足.OPEN
- = 前回新値足.CLOSE
- 追加新値足.CLOSE
- = 終値
- 転換ポイント
- = X 回前までの新値足中のMIN
- 『終値 < 転換ポイント』の場合(陰転)
- 追加新値足.OPEN
- = 前回新値足.OPEN
- 追加新値足.CLOSE
- = 終値
- 転換ポイント
- = X 回前までの新値足中のMAX
- 『終値 > 前回新値足』の場合(新値足の追加)
- a前回新値足が陽線の場合
-
- b前回新値足が陰線の場合
- 『終値 < 前回新値足』の場合(新値足の追加)
- 追加新値足.OPEN
- = 前回新値足.CLOSE
- 追加新値足.CLOSE
- = 終値
- 転換ポイント
- = X 回前までの新値足中のMAX
- 『終値 > 転換ポイント』の場合(陽転)
- 追加新値足.OPEN
- = 前回新値足.OPEN
- 追加新値足.CLOSE
- = 終値
- 転換ポイント
- = X 回前までの新値足中のMIN
- 『終値 < 前回新値足』の場合(新値足の追加)
- b前回新値足が陰線の場合
- 21ポイント・アンド・フィギュア
-
- Step1 : チャート準備処理
- 基準終値
- = チャート描画期間中、最初に値付した日(算出基準日)の終値
- "×"を記述するための終値
- = 基準終値 +3 ポイント分の値幅
- "○"を記述するための終値
- = 基準終値 -3 ポイント分の値幅
- マークを描画するX軸
- = 0(一番左を 0 とした場合)
- マークを記述するY軸
- = 0(中央を 0 とした場合)
- トレンド
- = -
1ポイントあたりの価格帯の設定 前日終値 1ポイントの価格 ~ 100 2.5 100 ~ 200 5 200 ~ 1,000 10 1,000 ~ 5,000 20 5,000 ~ 10,000 100 10,000 ~ 50,000 200 50,000 ~ 100,000 1,000 100,000 ~ 500,000 2,000 500,000 ~ 1,000,000 10,000 1,000,000 ~ 5,000,000 20,000 5,000,000 ~ 100,000 - Step1 : チャート準備処理
-
- Step2 : 1つ目のマークの書き込み
算出基準日以降のデータに対して、下記のいずれかの条件を満たすまで処理を繰り返す。- 基準終値
- = チャート描画期間中、最初に値付した日(算出基準日)の終値
- "×"を記述するための終値
- < 終値
- "○"を記述するための終値
- > 終値
- Step2 : 1つ目のマークの書き込み
-
尚、上記条件を満たさなかった場合は、チャートの描画をしない。
【"×"を記述するための終値 < 終値 の条件を満たした場合】
(終値 - 基準終値) /1ポイント分の値幅分の"×"をX軸、Y軸の場所から、上方向に書き込む。- 基準終値
- = 基準終値 + (1ポイント分の値幅 ×"×"の数)
- "×"を記述するための終値
- = 基準終値 + 1ポイント分の値幅
- "○"を記述するための終値
- = 基準終値 -3 ポイント分の値幅
- X軸
- = 変化なし
- Y軸
- = Y軸 + "×"の数
- トレンド
- = "×"
-
【"○"を記述するための終値 > 終値 の条件を満たした場合】
(基準終値 - 終値) / 1ポイント分の値幅分の"○"をX軸、Y軸の場所から、下方向に書き込む。- 基準終値
- = 基準終値 + (1ポイント分の値幅 ×"○"の数)
- "×"を記述するための終値
- = 基準終値 + 3ポイント分の値幅
- "○"を記述するための終値
- = 基準終値 -1 ポイント分の値幅
- X軸
- = 変化なし
- Y軸
- = Y軸 - "○"の数
- トレンド
- = "○"
-
- Step3 : 2つ目以降のマークの書き込み
2度目のマーク書き込みから、下記のいずれかの条件を満たすまで処理を繰り返す。- "×"を記述するための終値
- < 終値
- "○"を記述するための終値
- > 終値
- Step3 : 2つ目以降のマークの書き込み
-
尚、上記条件を満たさなかった場合は、チャートの描画をしない。
【"×"を記述するための終値 < 終値 の条件を満たした場合】
トレンドが"×"の場合
(終値 - 基準終値) / 1ポイント分の値幅分の"×"をX軸、Y軸の場所から、上方向に書き込む。- X軸
- = 変化なし
- Y軸
- = Y軸 + "×"の数
-
トレンドが"○"の場合
(終値 - 基準終値) / 1ポイント分の値幅分の"×"をX軸 + 1、Y軸 + 1の場所から、上方向に書き込む。- 基準終値
- = 基準終値 + (1ポイント分の値幅 ×"×"の数)
- "×"を記述するための終値
- = 基準終値 + 1ポイント分の値幅
- "○"を記述するための終値
- = 基準終値 - 3ポイント分の値幅
- X軸
- = X軸 + 1
- Y軸
- = Y軸 - 1 - "○"の数
- トレンド
- = "×"
-
【"○"を記述するための終値 > 終値 の条件を満たした場合】
トレンドが"×"の場合
(基準終値 - 終値) / 1ポイント分の値幅分の"○"をX軸 + 1、Y軸 - 1 の場所から、下方向に書き込む。- X軸
- = 軸 + 1
- Y軸
- = Y軸 - 1 - "○"の数
-
トレンドが"○"の場合
(基準終値 - 終値) / 1ポイント分の値幅分の"○"をX軸、Y軸の場所から、下方向に書き込む。- 基準終値
- = 基準終値 - (1ポイント分の値幅 ×"○"の数)
- "×"を記述するための終値
- = 基準終値 + 3ポイント分の値幅
- "○"を記述するための終値
- = 基準終値 - 1ポイント分の値幅
- X軸
- = 変化なし
- Y軸
- = Y軸 - "○"の数
- トレンド
- = "○"
- 22価格帯別出来高
チャート表示期間の日々終値別に出来高を累計し、終値別(価格帯別)に累計出来高を描きます。
- 23指数化チャート
チャート表示開始日(基準日)の終値を100としたチャートを描きます。
- 24スプレッドチャート
-
- Step1 : 上段のチャートを描く。
指定した銘柄の終値ラインチャートを描く。 - Step2 : 下段のチャートを描く。
- aチャートの中心線を描く。
期間中の銘柄1終値 - 銘柄2終値の平均をチャートの中心線とする。 - b標準偏差σを求める。
- cチャートのグリッド線を描く。
チャートの中心線の値より「0.5σ」ごとにチャートのグリッド線を描く。 - dチャートを描く。
銘柄1終値 - 銘柄2終値を計算し、チャートを描く。
- Step1 : 上段のチャートを描く。
- 25VWAP(Volume Weighted Average Price:出来高加重平均価格)
- 26一目均衡表
Step1 : 転換線を描く
チャート表示期間にて、過去9日間の高値と安値の中間値を計算し、日々プロットする。Step2 : 基準線を描く
チャート表示期間にて、過去26日間の高値と安値の中間値を計算し、日々プロットする。Step3 : 先行スパン1(上限)を描く
チャート表示期間にて、転換線と基準線の中間値を計算し、それを26日間先行させてプロットする。Step4 : 先行スパン2(下限)を描く
チャート表示期間にて、過去52日間の高値と安値の中間値を計算し、それを26日間先行させてプロットする。Step5 : 遅行スパンを描く
チャート表示期間にて、当日の終値を当日を含む26日前の遅行スパンとしプロットする。- 27ボリンジャー・バンド
Step1 : TP(ティピカル・プライス)を求める。
Step2 : TPのn日移動平均を求める。
Step3 : 標準偏差を求める。
Step4 : バンドの計算値を求める。
- 28インプライドボラティリティ
Step1 : σの初期値を求める。
Step2 : σ1を求める。
- 29デルタ
Step1 : d1の計算
Step2 : コールオプションのデルタ値
Step3 : プットオプションのデルタ値
- 30平均足
-
Step1 : 1日目
- 始値 = (前日始値 + 前日高値 + 前日安値 + 前日終値) / 4
- 高値 = MAX(当日始値、当日高値、当日終値)
- 安値 = MIN(当日始値、当日安値、当日終値)
- 終値 = (当日始値 + 当日高値 + 当日安値 + 当日終値) / 4
Step2 : 2日目以降
- 始値 = (前日平均足始値 + 前日平均足終値) / 2
- 高値 = MAX(当日始値、当日高値、当日終値)
- 安値 = MIN(当日始値、当日安値、当日終値)
- 終値 = (当日始値 + 当日高値 + 当日安値 + 当日終値) / 4
- 31ATR
-
Step1 : 当日のTR(変動幅の最大値)を求める
TR = 以下の絶対値の最大値(日足の場合)- 当日高値 - 当日安値
- 当日高値 - 前日終値
- 当日安値 - 前日終値
Step2 : 当日を含む過去n日間の単純移動平均を求める
- ATR=∑TR/n
- 32フィボナッチ(フィボナッチリトレースメント)
-
「1番目の数と2番目の数を足すと3番目の数になる。2番目の数と3番目の数を足すと4番目の数になる・・」・という繰り返しでできている数列をフィボナッチ数列といいます。0からはじめると、次のような数列になります。
0 1 1 2 3 5 8 13 21 34 55 89 ・・・・ (1)
このまま続けると絶対数値は大きくなりますが、隣り合う数の比は黄金比とよばれるものに近づいていきます。
黄金比
フィボナッチ・リトレースメントは1.618の比率に基づいた38.2%、61.8%を節目とする考え方です。
例・・・数列(1)より 38.2%=34÷89(%)、61.8%=55÷89(%)