0
Answered

Индикатор ATR

Анна Шингель 1 year ago updated 1 year ago 3

Здравствуйте!

Подскажите, пожалуйста, какой тип усреднения используется при расчете Moving Average (Trj,n) в индикаторе ATR? Простая средняя, экспоненциальная или еще какая-то хитрая? Делаю себе помощника в экселе, результаты расчетов ATR в ATAS и эксель расходятся примерно на 10%.

Заранее спасибо!


    Здравствуйте, Анна. Вы пробовали использовать в расчетах взвешенное скользящее среднее (WMA)?

    Answered

    Код используемого индикатора ATR:

    public class ATR : Indicator
        {
            private int _period = 14;
    
            public int Period
            {
                get => _period;
                set
                {
                    if (value <= 0)
                        return;
    
                    _period = value;
                    RecalculateValues();
                }
            }
    
            public ATR()
                : base(true)
            {
                Panel = IndicatorDataProvider.NewPanel;
                Period = 10;
                ((ValueDataSeries)DataSeries[0]).StringFormat = StringFormat;
            }
    
            protected override void OnCalculate(int bar, decimal value)
            {
                var candle = GetCandle(bar);
                var high0 = candle.High;
                var low0 = candle.Low;
    
                if (bar == 0)
                {
                    this[bar] = high0 - low0;
                    ((ValueDataSeries)DataSeries[0]).StringFormat = StringFormat;
                }
                else
                {
                    var close1 = GetCandle(bar - 1).Close;
                    var trueRange = Math.Max(Math.Abs(low0 - close1), Math.Max(high0 - low0, Math.Abs(high0 - close1)));
                    this[bar] = ((Math.Min(CurrentBar + 1, Period) - 1) * this[bar - 1] + trueRange) / Math.Min(CurrentBar + 1, Period);
                }
            }
        }

    Здравствуйте!

    Спасибо всем за помощь! Поняла так, что используется модифицированное скользящее среднее как частный случай экспоненциального и отсчет идет со второго значения на графике. Разобралась, теперь все сходится. Ура)))