/* * 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; }
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); }
public MovingAverage(int windowSize) : base(0) { _movingSum = new MovingSum(windowSize); }