27 private readonly decimal _atrMult;
29 private readonly
Maximum _underlyingMaximum;
30 private readonly
Minimum _underlyingMinimum;
60 : this($
"CKS({atrPeriod},{atrMult},{period})", atrPeriod, atrMult, period, movingAverageType)
79 _underlyingMaximum =
new Maximum(atrPeriod);
80 _underlyingMinimum =
new Minimum(atrPeriod);
95 _underlyingMaximum.Update(input.
EndTime, input.
High);
96 var highStop = _underlyingMaximum.Current.Value - _atr.Current.Value * _atrMult;
98 _underlyingMinimum.Update(input.
EndTime, input.
Low);
99 var lowStop = _underlyingMinimum.Current.Value + _atr.Current.Value * _atrMult;
114 _underlyingMaximum.Reset();
115 _underlyingMinimum.Reset();