56 _stochastic =
new Stochastic(name, period, period, period);
58 _doubleSmoothingEma = _firstSmoothingEma.EMA(emaPeriod);
68 : this($
"PSO({period},{emaPeriod})", period, emaPeriod)
75 public override bool IsReady => _doubleSmoothingEma.IsReady;
87 if (!_stochastic.Update(input))
92 var k = _stochastic.FastStoch.Current.Value;
93 var nsk = 0.1m * (k - 50);
99 if (!_doubleSmoothingEma.IsReady)
103 var expss = (decimal)Math.Exp((
double)_doubleSmoothingEma.Current.Value);
104 return (expss - 1) / (expss + 1);
113 _firstSmoothingEma.Reset();
114 _doubleSmoothingEma.Reset();