public void PositiveDirectionalMovement() { var yesterdayTick = GenerateTick.From(0, 0, 6, 20); var todayTick = GenerateTick.From(0, 0, 12, 4); IList <Tick> ticks = new List <Tick>(); ticks.Add(yesterdayTick); ticks.Add(todayTick); var series = GenerateTimeSeries.From(ticks); var down = new DirectionalMovementDownIndicator(series); TaTestsUtils.AssertDecimalEquals(down.GetValue(1), 16); }
protected override Decimal Calculate(int index) { if (index == 0) { return(Decimal.One); } var nbPeriods = Decimal.ValueOf(_timeFrame); var nbPeriodsMinusOne = Decimal.ValueOf(_timeFrame - 1); return(GetValue(index - 1).MultipliedBy(nbPeriodsMinusOne).DividedBy(nbPeriods).Plus(_dmdown.GetValue(index).DividedBy(nbPeriods))); }