protected override decimal Calculate(int index) { // compute relative strength decimal averageGain = _averageGainIndicator.GetValue(index); decimal averageLoss = _averageLossIndicator.GetValue(index); if (averageLoss.IsZero()) { if (averageGain.IsZero()) { return(Decimals.Zero); } else { return(Decimals.HUNDRED); } } decimal relativeStrength = averageGain.DividedBy(averageLoss); // compute relative strength index return(Decimals.HUNDRED.Minus(Decimals.HUNDRED.DividedBy(Decimals.ONE.Plus(relativeStrength)))); }
protected override decimal Calculate(int index) { return(_averageTrueRangeIndicator.GetValue(index)); }