コード例 #1
0
        public void GetValue()
        {
            IList <Tick> ticks = new List <Tick>();

            ticks.Add(GenerateTick.From(0, 12, 15, 8));
            ticks.Add(GenerateTick.From(0, 8, 11, 6));
            ticks.Add(GenerateTick.From(0, 15, 17, 14));
            ticks.Add(GenerateTick.From(0, 15, 17, 14));
            ticks.Add(GenerateTick.From(0, 0, 0, 2));
            var tr = new TrueRangeIndicator(GenerateTimeSeries.From(ticks));

            TaTestsUtils.AssertDecimalEquals(tr.GetValue(0), 7);
            TaTestsUtils.AssertDecimalEquals(tr.GetValue(1), 6);
            TaTestsUtils.AssertDecimalEquals(tr.GetValue(2), 9);
            TaTestsUtils.AssertDecimalEquals(tr.GetValue(3), 3);
            TaTestsUtils.AssertDecimalEquals(tr.GetValue(4), 15);
        }
コード例 #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).Plus(_tr.GetValue(index)).DividedBy(nbPeriods));
        }