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);
        }
示例#2
0
        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)));
        }