Работа с Market Depth

API позволяет получать данные об обновлении MarketDepth. Для этого нужно переопределить метод MarketDepthChanged(MarketDataArg arg).

    public class SampleMD:Indicator
    {
        protected override void OnCalculate(int bar, decimal value)
        {
        }

        protected override void MarketDepthChanged(MarketDataArg arg)
        {
            
        }
    }

Также можно получать суммарный объем всех бидов и суммарный объем всех асков с помощью свойств объекта MarketDepthInfo: CumulativeDomAsks, CumulativeDomBids

Пример индикатора, который отображает историю суммарных значений объемов асков и бидов

public class DomPower : Indicator
    {
        private ValueDataSeries _asks;
        private ValueDataSeries _bids=new ValueDataSeries("Bids");

        private int _lastCalculatedBar = 0;
        privte bool _first = true;

        public DomPower():base(true)
        {
            Panel = IndicatorDataProvider.NewPanel;
            _asks = (ValueDataSeries)DataSeries[0];
            _asks.Name = "Asks";
            _bids.Color = Colors.Green;
            DataSeries.Add(_bids);
        }

        protected override void OnCalculate(int bar, decimal value)
        {
            
        }

        protected override void MarketDepthChanged(MarketDataArg arg)
        {
            if (_first)
            {
                _first = false;
                _lastCalculatedBar = CurrentBar - 1;
            }

            var lastCandle = CurrentBar - 1;
            var cumAsks = MarketDepthInfo.CumulativeDomAsks;
            var cumBids = MarketDepthInfo.CumulativeDomBids;
            
            for (int i = _lastCalculatedBar; i <= lastCandle; i++)
            {
                _asks[i] = -cumAsks;
                _bids[i] = cumBids;
            }

            _lastCalculatedBar = lastCandle;
        }
    }

В некоторых случаях может потребоваться получить срез данных market depth. Для этого можно воспользоваться функцией MarketDepthInfo.GetMarketDepthSnapshot(). Функция возвращает список всех уровней в стакане.

Сервис поддержки клиентов работает на платформе UserEcho