/// <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); }
/// <summary> /// 指数平均移動線(EMA)を計算する /// 定められたSecondsValue周期で呼び出される /// </summary> public override void Calculate() { // 履歴に追加 List[0].Add(NonApiUtility.CalcEma(Length, baseList, NonApiUtility.Last(List[0]))); }