public void SMA実装テスト_5区間の単純移動平均で5回以下の場合その時の平均が求められる() { var sut = new SmaIndicator.SmaImpl(5); Assert.AreEqual(Enumerable.Range(1, 1).Sum() / 1m, sut.Next(1)); Assert.AreEqual(Enumerable.Range(1, 2).Sum() / 2m, sut.Next(2)); Assert.AreEqual(Enumerable.Range(1, 3).Sum() / 3m, sut.Next(3)); Assert.AreEqual(Enumerable.Range(1, 4).Sum() / 4m, sut.Next(4)); Assert.AreEqual(Enumerable.Range(1, 5).Sum() / 5m, sut.Next(5)); }
public void SMA実装テスト_5区間の単純移動平均で5回以上値を入れた場合直近の5回分の平均が求められる() { var sut = new SmaIndicator.SmaImpl(5); Enumerable.Range(1, 5).ToList().ForEach(i => sut.Next(i)); Assert.AreEqual(Enumerable.Range(2, 5).Sum() / 5m, sut.Next(6)); Assert.AreEqual(Enumerable.Range(3, 5).Sum() / 5m, sut.Next(7)); Assert.AreEqual(Enumerable.Range(4, 5).Sum() / 5m, sut.Next(8)); Assert.AreEqual(Enumerable.Range(5, 5).Sum() / 5m, sut.Next(9)); Assert.AreEqual(Enumerable.Range(6, 5).Sum() / 5m, sut.Next(10)); }
public AtrIndicator(int period) { this.period = period; this.smaIndicator = new SmaIndicator.SmaImpl(period); }