예제 #1
0
        public void NumberBasicTest()
        {
            LookbackArray <float> numbers = new LookbackArray <float>(100);

            MovingSumOfNumbers mson = new MovingSumOfNumbers(3);

            ProbeReader <float, float> reader = mson.GetReader();

            INumberEvaluate evaluator = mson;

            numbers.Write(4);

            evaluator.Evaluate(numbers);

            Assert.AreEqual(0, reader.Count);

            numbers.Write(4);
            evaluator.Evaluate(numbers);

            Assert.AreEqual(0, reader.Count);

            numbers.Write(4);
            evaluator.Evaluate(numbers);

            Assert.AreEqual(1, reader.Count);

            Assert.AreEqual(12, reader.Current);
        }
예제 #2
0
        public MACD(int fastEMAPeriod, int slowEMAPeriod, int signalLinePeriod) : base(fastEMAPeriod)
        {
            _fastEMA = new EMAOfPrices(fastEMAPeriod);
            Dependency.Register(_fastEMA);

            _slowEMA = new EMAOfPrices(slowEMAPeriod);
            Dependency.Register(_slowEMA);

            _macd = new LookbackArray <float>(AnalyserConfig.MaxLookbackCapacity);

            _macdEMA = new EMAOfNumbers(signalLinePeriod);
        }