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 _stochastic.Update(input);
88 if (!_stochastic.FastStoch.IsReady)
93 var k = _stochastic.FastStoch.Current.Value;
94 var nsk = 0.1m * (k - 50);
100 if (!_doubleSmoothingEma.IsReady)
104 var expss = (decimal)Math.Exp((
double)_doubleSmoothingEma.Current.Value);
105 return (expss - 1) / (expss + 1);
114 _firstSmoothingEma.Reset();
115 _doubleSmoothingEma.Reset();