Beispiel #1
0
 protected RawInputSerialMetric(int windowSize)
     : base(windowSize)
 {
     if (windowSize > 0)
     {
         _data = new CirculatedArray <double>(windowSize);
     }
 }
Beispiel #2
0
        public DirectionMovementIndex(int windowSize)
            : base(1)
        {
            _msPdm = new MovingSum(windowSize);
            _msNdm = new MovingSum(windowSize);
            _msTr  = new MovingSum(windowSize);
            _maDx  = new MovingAverage(windowSize);
            _adx   = new CirculatedArray <double>(windowSize);

            Values = new double[4];
        }
Beispiel #3
0
        public Chaikin(int windowSize, int interval)
            : base(0)
        {
            if (interval <= 0 || interval > windowSize)
            {
                throw new ArgumentOutOfRangeException();
            }

            _interval = interval;

            _ema  = new ExponentialMovingAverage(windowSize);
            _mahl = new CirculatedArray <double>(interval);
        }
        protected override void RegisterMetric()
        {
            base.RegisterMetric();

            _trinManager = new StockBoardMetricsManager(
                Context,
                (IEnumerable <ITradingObject> o) => { return(new ShortTermTradeIndex(o, TrinWindow)); });

            _trinManager.AfterUpdatedMetrics += AfterUpdatedMetrics;

            _trinMetrics = new CirculatedArray <double> [Context.GetCountOfTradingObjects()];
            for (int i = 0; i < _trinMetrics.Length; ++i)
            {
                _trinMetrics[i] = new CirculatedArray <double>(ConsecutivePeriods);
            }
        }
Beispiel #5
0
 public CommodityChannelIndex(int windowSize)
     : base(0)
 {
     _maTruePrice = new MovingAverage(windowSize);
     _truePrices  = new CirculatedArray <double>(windowSize);
 }