Ejemplo n.º 1
0
        /// <summary>
        /// MACDを計算する
        /// 定められたSecondsValue周期で呼び出される
        /// </summary>
        public override void Calculate()
        {
            oldHistogram = currentHistogram;

            // 12分足EMA
            double temp1 = NonApiUtility.CalcEma(ShortEmaLength, baseList, NonApiUtility.Last(List[0]));

            List[0].Add(temp1);

            // 26分足EMA
            double temp2 = NonApiUtility.CalcEma(LongEmaLength, baseList, NonApiUtility.Last(List[1]));

            List[1].Add(temp2);

            // MACD
            double macd = temp1 - temp2;

            List[2].Add(macd);

            // MACDシグナル
            // 9分
            double signal = NonApiUtility.CalcEma(SignalLength, List[2], NonApiUtility.Last(List[3]));

            List[3].Add(signal);

            // ヒストグラム
            currentHistogram = macd - signal;
            List[4].Add(currentHistogram);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 指数平均移動線(EMA)を計算する
 /// 定められたSecondsValue周期で呼び出される
 /// </summary>
 public override void Calculate()
 {
     // 履歴に追加
     List[0].Add(NonApiUtility.CalcEma(Length, baseList, NonApiUtility.Last(List[0])));
 }