Esempio n. 1
0
        /*
         * public double MACDSignal
         * {
         *  get
         *  {
         *      return signal.EMAverage;
         *  }
         * }*/


        public void Init(int shortPeriod, int longPeriod, int macdSumSize, int emaStartTime)
        {
            emaShort = new EMA();
            emaShort.Init(shortPeriod, 1);
            //emaShort.Init(shortPeriod,emaStartTime);
            emaLong = new EMA();
            emaLong.Init(longPeriod, 1);
            //emaLong.Init(longPeriod, emaStartTime);
            emaMacdSum = new EMA();
            emaMacdSum.Init(longPeriod * 5, emaStartTime);

            macdSum = new MovingSum();

            macdSum.Init(macdSumSize);

            //signal = new EMA();
            //signal.Init(signalPeriod, emaStartTime);
            //this.signalThreshold = signalThreshold;
        }
Esempio n. 2
0
        public AdvanceDeclineLineAndRatio(
            IEnumerable <ITradingObject> tradingObjects,
            int windowSize,
            string rawMetric = "ROC[1]")
            : base(tradingObjects)
        {
            if (windowSize <= 0)
            {
                throw new ArgumentOutOfRangeException("window size must be greater than 0");
            }

            _windowSize = windowSize;

            MetricNames        = new string[] { "ADL", "ADR" };
            MetricValues       = new double[] { 0.0, 0.0 };
            DependedRawMetrics = new string[] { rawMetric };

            _advancedSum = new MovingSum(windowSize);
            _declinedSum = new MovingSum(windowSize);
        }
Esempio n. 3
0
 public MovingAverage(int windowSize)
     : base(0)
 {
     _movingSum = new MovingSum(windowSize);
 }