示例#1
0
        public static Unit GetUnit(this Func <DdeTableColumn, object> func, DdeTableColumn typeColumn, DdeTableColumn valueColumn)
        {
            UnitTypes?type;

            var typeStr = Get <string>(func, typeColumn);

            switch (typeStr)
            {
            case "":
                type = null;
                break;

            case "Д":
                type = UnitTypes.Absolute;
                break;

            case "%":
                type = UnitTypes.Percent;
                break;

            default:
                throw new ArgumentOutOfRangeException("func", typeStr, LocalizedStrings.Str1715Params.Put(typeColumn.Name));
            }

            return(type == null ? null : new Unit {
                Value = Get <decimal>(func, valueColumn), Type = (UnitTypes)type
            });
        }
示例#2
0
        public static T?GetZeroable <T>(this Func <DdeTableColumn, object> func, DdeTableColumn column)
            where T : struct
        {
            var value = func.Get <double>(column);

            return(value == 0 ? (T?)null : Get <T>(value, column));
        }
示例#3
0
        public static T?GetNullable2 <T>(this Func <DdeTableColumn, object> func, DdeTableColumn column)
            where T : struct
        {
            if (func == null)
            {
                throw new ArgumentNullException("func");
            }

            var value = func(column);

            if (value is T)
            {
                return((T)value);
            }
            else
            {
                if (value is string && (string)value == string.Empty)
                {
                    return(null);
                }
                else
                {
                    return(Get <T>(value, column));
                }
            }
        }
示例#4
0
        public static T Get <T>(this Func <DdeTableColumn, object> func, DdeTableColumn column)
        {
            if (func == null)
            {
                throw new ArgumentNullException("func");
            }

            var value = func(column);

            return(Get <T>(value, column));
        }
示例#5
0
        static DdeStopOrderColumns()
        {
            Id                 = new DdeTableColumn(DdeTableTypes.StopOrder, "Номер", typeof(long));
            SecurityCode       = new DdeTableColumn(DdeTableTypes.StopOrder, "Код бумаги", typeof(string));
            SecurityClass      = new DdeTableColumn(DdeTableTypes.StopOrder, "Код класса", typeof(string));
            Time               = new DdeTableColumn(DdeTableTypes.StopOrder, "Время", typeof(DateTime));
            Volume             = new DdeTableColumn(DdeTableTypes.StopOrder, "Кол-во", typeof(decimal));
            Price              = new DdeTableColumn(DdeTableTypes.StopOrder, "Цена", typeof(decimal));
            Type               = new DdeTableColumn(DdeTableTypes.StopOrder, "Тип стоп-заявки", typeof(string));
            State              = new DdeTableColumn(DdeTableTypes.StopOrder, "Состояние", typeof(string));
            Account            = new DdeTableColumn(DdeTableTypes.StopOrder, "Счет", typeof(string));
            Balance            = new DdeTableColumn(DdeTableTypes.StopOrder, "Акт.кол-во", typeof(decimal));
            Comment            = new DdeTableColumn(DdeTableTypes.StopOrder, "Комментарий", typeof(string));
            CancelTime         = new DdeTableColumn(DdeTableTypes.StopOrder, "Время снятия", typeof(DateTime));
            Direction          = new DdeTableColumn(DdeTableTypes.StopOrder, "Операция", typeof(string));
            TransactionId      = new DdeTableColumn(DdeTableTypes.StopOrder, "ID транзакции", typeof(long));
            TypeCode           = new DdeTableColumn(DdeTableTypes.StopOrder, "Тип", typeof(string));
            DerivedOrderId     = new DdeTableColumn(DdeTableTypes.StopOrder, "Номер заявки", typeof(long));
            OtherSecurityClass = new DdeTableColumn(DdeTableTypes.StopOrder, "Код класса стоп-цены", typeof(string));
            OtherSecurityCode  = new DdeTableColumn(DdeTableTypes.StopOrder, "Код бумаги стоп-цены", typeof(string));
            StopPrice          = new DdeTableColumn(DdeTableTypes.StopOrder, "Стоп-цена", typeof(decimal));
            StopPriceCondition = new DdeTableColumn(DdeTableTypes.StopOrder, "Направление стоп-цены", typeof(string));
            StopLimitCondition = new DdeTableColumn(DdeTableTypes.StopOrder, "Направление стоп-лимит цены", typeof(string));
            StopLimitMarket    = new DdeTableColumn(DdeTableTypes.StopOrder, "Стоп-лимит по рыночной", typeof(string));
            StopLimitPrice     = new DdeTableColumn(DdeTableTypes.StopOrder, "Стоп-лимит цена", typeof(decimal));
            ExpiryDate         = new DdeTableColumn(DdeTableTypes.StopOrder, "Срок", typeof(DateTime));
            LinkedOrderId      = new DdeTableColumn(DdeTableTypes.StopOrder, "Связ. заявка", typeof(long));
            LinkedOrderPrice   = new DdeTableColumn(DdeTableTypes.StopOrder, "Цена связ.заявки", typeof(decimal));
            OffsetType         = new DdeTableColumn(DdeTableTypes.StopOrder, "Единицы отступа", typeof(string));
            OffsetValue        = new DdeTableColumn(DdeTableTypes.StopOrder, "Отступ от min/max", typeof(decimal));
            SpreadType         = new DdeTableColumn(DdeTableTypes.StopOrder, "Единицы спрэда", typeof(string));
            SpreadValue        = new DdeTableColumn(DdeTableTypes.StopOrder, "Защитный спрэд", typeof(decimal));
            ActiveTime         = new DdeTableColumn(DdeTableTypes.StopOrder, "Время действия", typeof(string));
            ActiveFrom         = new DdeTableColumn(DdeTableTypes.StopOrder, "Активна с", typeof(DateTime));
            ActiveTo           = new DdeTableColumn(DdeTableTypes.StopOrder, "Активна по", typeof(DateTime));
            TakeProfitMarket   = new DdeTableColumn(DdeTableTypes.StopOrder, "Тэйк-профит по рыночной", typeof(string));
            ConditionOrderId   = new DdeTableColumn(DdeTableTypes.StopOrder, "Заявка условия", typeof(long));
            Date               = new DdeTableColumn(DdeTableTypes.StopOrder, "Дата", typeof(DateTime));

            SecurityShortName = new DdeTableColumn(DdeTableTypes.StopOrder, "Бумага сокр.", typeof(string));
            SecurityName      = new DdeTableColumn(DdeTableTypes.StopOrder, "Бумага", typeof(string));
            User            = new DdeTableColumn(DdeTableTypes.StopOrder, "UID", typeof(string));
            ClientCode      = new DdeTableColumn(DdeTableTypes.StopOrder, "Код клиента", typeof(string));
            TypeDescription = new DdeTableColumn(DdeTableTypes.StopOrder, "Описание типа стоп-заявки", typeof(string));
            TradeId         = new DdeTableColumn(DdeTableTypes.StopOrder, "Сделка условия", typeof(long));
            Result          = new DdeTableColumn(DdeTableTypes.StopOrder, "Результат", typeof(string));
            Server          = new DdeTableColumn(DdeTableTypes.StopOrder, "Сервер", typeof(string));
        }
示例#6
0
        private static T Get <T>(object value, DdeTableColumn column)
        {
            if (column == null)
            {
                throw new ArgumentNullException("column");
            }

            try
            {
                return(value.To <T>());
            }
            catch (Exception ex)
            {
                throw new ArgumentException(LocalizedStrings.Str1714Params.Put(column.Name, value, typeof(T).Name), "value", ex);
            }
        }
示例#7
0
        static DdeDerivativePositionColumns()
        {
            FirmId            = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Фирма", typeof(string));
            Type              = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Тип", typeof(string));
            SecurityCode      = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Код инструмента", typeof(string));
            SecurityShortName = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Краткое название", typeof(string));
            Account           = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Торговый счет", typeof(string));
            SettlementDate    = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Дата погашения", typeof(DateTime));
            BeginPosition     = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Вход. чист. поз.", typeof(long));
            CurrentPosition   = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Тек. чист. поз.", typeof(long));

            CurrentBidsVolume     = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Акт. покупка", typeof(long));
            CurrentAsksVolume     = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Акт. продажа", typeof(long));
            CurrentPositionPrice  = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Оценка тек. чист. поз.", typeof(decimal));
            PlanningPositionPrice = new DdeTableColumn(DdeTableTypes.DerivativePosition, "План. чист. поз.", typeof(decimal));
            VariationMargin       = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Вариац. Маржа", typeof(decimal));
            EffectivePrice        = new DdeTableColumn(DdeTableTypes.DerivativePosition, "Эффект. цена поз.", typeof(decimal));
        }
示例#8
0
        static DdeMyTradeColumns()
        {
            Id            = new DdeTableColumn(DdeTableTypes.MyTrade, "Номер", typeof(long));
            SecurityCode  = new DdeTableColumn(DdeTableTypes.MyTrade, "Код бумаги", typeof(string));
            SecurityClass = new DdeTableColumn(DdeTableTypes.MyTrade, "Код класса", typeof(string));
            Time          = new DdeTableColumn(DdeTableTypes.MyTrade, "Время", typeof(DateTime));
            TimeMcs       = new DdeTableColumn(DdeTableTypes.MyTrade, "Время (мкс)", typeof(int));
            Volume        = new DdeTableColumn(DdeTableTypes.MyTrade, "Кол-во", typeof(decimal));
            Price         = new DdeTableColumn(DdeTableTypes.MyTrade, "Цена", typeof(decimal));
            OrderId       = new DdeTableColumn(DdeTableTypes.MyTrade, "Заявка", typeof(long));
            Date          = new DdeTableColumn(DdeTableTypes.MyTrade, "Дата торгов", typeof(DateTime));

            MarketId          = new DdeTableColumn(DdeTableTypes.MyTrade, "Код биржи", typeof(string));
            SecurityShortName = new DdeTableColumn(DdeTableTypes.MyTrade, "Бумага сокр.", typeof(string));
            SecurityName      = new DdeTableColumn(DdeTableTypes.MyTrade, "Бумага", typeof(string));
            Type                      = new DdeTableColumn(DdeTableTypes.MyTrade, "Тип сделки", typeof(string));
            OrderDirection            = new DdeTableColumn(DdeTableTypes.MyTrade, "Операция", typeof(string));
            Account                   = new DdeTableColumn(DdeTableTypes.MyTrade, "Счет", typeof(string));
            Value                     = new DdeTableColumn(DdeTableTypes.MyTrade, "Объем", typeof(decimal));
            Currency                  = new DdeTableColumn(DdeTableTypes.MyTrade, "Валюта", typeof(string));
            AccountCode               = new DdeTableColumn(DdeTableTypes.MyTrade, "Код расчетов", typeof(string));
            Yield                     = new DdeTableColumn(DdeTableTypes.MyTrade, "Доходность", typeof(decimal));
            CouponYield               = new DdeTableColumn(DdeTableTypes.MyTrade, "Купонный %", typeof(decimal));
            RepoRate                  = new DdeTableColumn(DdeTableTypes.MyTrade, "Ставка РЕПО(%)", typeof(decimal));
            RepoValue                 = new DdeTableColumn(DdeTableTypes.MyTrade, "Сумма РЕПО", typeof(decimal));
            RepoPayBack               = new DdeTableColumn(DdeTableTypes.MyTrade, "Объем выкупа РЕПО", typeof(decimal));
            RepoDate                  = new DdeTableColumn(DdeTableTypes.MyTrade, "Срок РЕПО", typeof(int));
            Trader                    = new DdeTableColumn(DdeTableTypes.MyTrade, "Трейдер", typeof(string));
            Workstation               = new DdeTableColumn(DdeTableTypes.MyTrade, "Идентификатор рабочей станции", typeof(string));
            Dealer                    = new DdeTableColumn(DdeTableTypes.MyTrade, "Дилер", typeof(string));
            TraderOrganization        = new DdeTableColumn(DdeTableTypes.MyTrade, "Орг-я трейдера", typeof(string));
            ClientCode                = new DdeTableColumn(DdeTableTypes.MyTrade, "Код клиента", typeof(string));
            Comment                   = new DdeTableColumn(DdeTableTypes.MyTrade, "Комментарий", typeof(string));
            Partner                   = new DdeTableColumn(DdeTableTypes.MyTrade, "Партнер", typeof(string));
            PartnerOrganization       = new DdeTableColumn(DdeTableTypes.MyTrade, "Орг-я партнера", typeof(string));
            Commission                = new DdeTableColumn(DdeTableTypes.MyTrade, "Комиссия ТС", typeof(decimal));
            ClearingCommission        = new DdeTableColumn(DdeTableTypes.MyTrade, "Клиринговая комиссия", typeof(decimal));
            StockMarketCommission     = new DdeTableColumn(DdeTableTypes.MyTrade, "ФБ комиссия", typeof(decimal));
            TechnicalCenterCommission = new DdeTableColumn(DdeTableTypes.MyTrade, "ТЦ комиссия", typeof(decimal));
            Party                     = new DdeTableColumn(DdeTableTypes.MyTrade, "Идентификатор участника", typeof(string));
            SettlementDate            = new DdeTableColumn(DdeTableTypes.MyTrade, "Дата расчетов", typeof(DateTime));
            RtsCurrency               = new DdeTableColumn(DdeTableTypes.MyTrade, "Валюта сделки", typeof(string));
        }
示例#9
0
        public static bool?GetBool(this Func <DdeTableColumn, object> func, DdeTableColumn column)
        {
            var value = Get <string>(func, column);

            switch (value)
            {
            case "":
                return(null);

            case "Да":
                return(true);

            case "Нет":
                return(false);

            default:
                throw new ArgumentOutOfRangeException("func", value, LocalizedStrings.Str1716Params.Put(column.Name));
            }
        }
示例#10
0
        public static object Get(object value, DdeTableColumn column)
        {
            if (column == null)
            {
                throw new ArgumentNullException("column");
            }

            try
            {
                if (value is string && (string)value == string.Empty)
                {
                    return(null);
                }
                else
                {
                    return(value.To(column.DataType));
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentException(LocalizedStrings.Str1714Params.Put(column.Name, value, column.DataType.Name), "value", ex);
            }
        }
示例#11
0
        static DdeTradeColumns()
        {
            Id             = new DdeTableColumn(DdeTableTypes.Trade, "Номер", typeof(long));
            SecurityCode   = new DdeTableColumn(DdeTableTypes.Trade, "Код бумаги", typeof(string));
            SecurityClass  = new DdeTableColumn(DdeTableTypes.Trade, "Класс", typeof(string));
            Time           = new DdeTableColumn(DdeTableTypes.Trade, "Время", typeof(DateTime));
            TimeMcs        = new DdeTableColumn(DdeTableTypes.Trade, "Время (мкс)", typeof(int));
            Volume         = new DdeTableColumn(DdeTableTypes.Trade, "Кол-во", typeof(decimal));
            Price          = new DdeTableColumn(DdeTableTypes.Trade, "Цена", typeof(decimal));
            OrderDirection = new DdeTableColumn(DdeTableTypes.Trade, "Операция", typeof(string));
            Date           = new DdeTableColumn(DdeTableTypes.Trade, "Дата", typeof(DateTime));

            SecurityShortName = new DdeTableColumn(DdeTableTypes.Trade, "Бумага сокр.", typeof(string));
            SecurityName      = new DdeTableColumn(DdeTableTypes.Trade, "Бумага", typeof(string));
            Value             = new DdeTableColumn(DdeTableTypes.Trade, "Объем", typeof(decimal));
            AccountCode       = new DdeTableColumn(DdeTableTypes.Trade, "Код расчетов", typeof(string));
            Yield             = new DdeTableColumn(DdeTableTypes.Trade, "Доходность", typeof(decimal));
            CouponYield       = new DdeTableColumn(DdeTableTypes.Trade, "Купонный доход", typeof(decimal));
            RepoRate          = new DdeTableColumn(DdeTableTypes.Trade, "Ставка РЕПО(%)", typeof(decimal));
            RepoValue         = new DdeTableColumn(DdeTableTypes.Trade, "Сумма РЕПО", typeof(decimal));
            RepoPayBack       = new DdeTableColumn(DdeTableTypes.Trade, "Объем выкупа РЕПО", typeof(decimal));
            RepoDate          = new DdeTableColumn(DdeTableTypes.Trade, "Срок РЕПО", typeof(int));
        }
示例#12
0
        static DdeOrderColumns()
        {
            Id            = new DdeTableColumn(DdeTableTypes.Order, "Номер", typeof(long));
            SecurityCode  = new DdeTableColumn(DdeTableTypes.Order, "Код бумаги", typeof(string));
            SecurityClass = new DdeTableColumn(DdeTableTypes.Order, "Код класса", typeof(string));
            Time          = new DdeTableColumn(DdeTableTypes.Order, "Выставлена (время)", typeof(DateTime));
            TimeMcs       = new DdeTableColumn(DdeTableTypes.Order, "Выставлена (мкс)", typeof(int));
            Volume        = new DdeTableColumn(DdeTableTypes.Order, "Кол-во", typeof(decimal));
            Price         = new DdeTableColumn(DdeTableTypes.Order, "Цена", typeof(decimal));
            Type          = new DdeTableColumn(DdeTableTypes.Order, "Тип", typeof(string));
            State         = new DdeTableColumn(DdeTableTypes.Order, "Состояние", typeof(string));
            Account       = new DdeTableColumn(DdeTableTypes.Order, "Счет", typeof(string));
            Balance       = new DdeTableColumn(DdeTableTypes.Order, "Остаток", typeof(decimal));
            Comment       = new DdeTableColumn(DdeTableTypes.Order, "Комментарий", typeof(string));
            CancelTime    = new DdeTableColumn(DdeTableTypes.Order, "Снята (время)", typeof(DateTime));
            CancelTimeMcs = new DdeTableColumn(DdeTableTypes.Order, "Снята (мкс)", typeof(int));
            Direction     = new DdeTableColumn(DdeTableTypes.Order, "Операция", typeof(string));
            TransactionId = new DdeTableColumn(DdeTableTypes.Order, "ID транзакции", typeof(long));
            Date          = new DdeTableColumn(DdeTableTypes.Order, "Дата", typeof(DateTime));

            MarketId          = new DdeTableColumn(DdeTableTypes.Order, "Код биржи", typeof(string));
            SecurityShortName = new DdeTableColumn(DdeTableTypes.Order, "Бумага сокр.", typeof(string));
            SecurityName      = new DdeTableColumn(DdeTableTypes.Order, "Бумага", typeof(string));
            Value             = new DdeTableColumn(DdeTableTypes.Order, "Объем", typeof(decimal));
            Currency          = new DdeTableColumn(DdeTableTypes.Order, "Валюта", typeof(string));
            Yield             = new DdeTableColumn(DdeTableTypes.Order, "Доходность", typeof(decimal));
            CouponYield       = new DdeTableColumn(DdeTableTypes.Order, "Купонный процент", typeof(decimal));
            Trader            = new DdeTableColumn(DdeTableTypes.Order, "Трейдер", typeof(string));
            Dealer            = new DdeTableColumn(DdeTableTypes.Order, "Дилер", typeof(string));
            User           = new DdeTableColumn(DdeTableTypes.Order, "UID", typeof(string));
            ClientCode     = new DdeTableColumn(DdeTableTypes.Order, "Код клиента", typeof(string));
            AccountCode    = new DdeTableColumn(DdeTableTypes.Order, "Код расчетов", typeof(string));
            ActivationTime = new DdeTableColumn(DdeTableTypes.Order, "Время активации", typeof(DateTime));
            MarketMaker    = new DdeTableColumn(DdeTableTypes.Order, "Заявка Маркет-мейкера", typeof(string));
            ExpiryDate     = new DdeTableColumn(DdeTableTypes.Order, "Срок", typeof(DateTime));
        }
示例#13
0
        public static OrderStates?GetState(this Func <DdeTableColumn, object> func, DdeTableColumn column)
        {
            if (func == null)
            {
                throw new ArgumentNullException("func");
            }

            var value = (string)func(column);

            switch (value)
            {
            case "ACTIVE":
                return(OrderStates.Active);

            case "FILLED":
                return(OrderStates.Done);

            case "KILLED":
                return(null);

            default:
                throw new ArgumentOutOfRangeException("column", value, LocalizedStrings.Str1712);
            }
        }
示例#14
0
 public static T GetNullable <T>(this Func <DdeTableColumn, object> func, DdeTableColumn column, T defaultValue = default(T))
     where T : struct
 {
     return(func.GetNullable2 <T>(column) ?? defaultValue);
 }
示例#15
0
        public static DateTimeOffset?GetNullableTime(this Func <DdeTableColumn, object> func, DdeTable table, DdeTableColumn dateColumn, DdeTableColumn timeColumn, DdeTableColumn mcsColumn)
        {
            if (func == null)
            {
                throw new ArgumentNullException("func");
            }

            var date = func.GetNullable2 <DateTime>(dateColumn);

            if (date == null)
            {
                return(null);
            }

            var time = func.GetNullable2 <TimeSpan>(timeColumn);

            if (time == null)
            {
                return(null);
            }

            var dateTime = date.Value + time.Value;

            if (table.Columns.Contains(mcsColumn))
            {
                dateTime = dateTime.AddMilliseconds(func.Get <double>(mcsColumn) / 1000);
            }

            return(dateTime.ApplyTimeZone(TimeHelper.Moscow));
        }
示例#16
0
 public static DateTimeOffset GetTime(this Func <DdeTableColumn, object> func, DdeTable table, DdeTableColumn dateColumn, DdeTableColumn timeColumn, DdeTableColumn mcsColumn)
 {
     return(func.GetNullableTime(table, dateColumn, timeColumn, mcsColumn) ?? DateTime.MinValue);
 }
示例#17
0
        public static TPlusLimits GetTNLimitType(this Func <DdeTableColumn, object> func, DdeTableColumn column)
        {
            var value = func.Get <string>(column);

            switch (value)
            {
            case "T0":
                return(TPlusLimits.T0);

            case "T1":
                return(TPlusLimits.T1);

            case "T2":
                return(TPlusLimits.T2);

            default:
                throw new ArgumentOutOfRangeException(LocalizedStrings.Str1720Params.Put(value));
            }
        }
        static DdeSecurityColumns()
        {
            Name            = new DdeTableColumn(DdeTableTypes.Security, "Полное название бумаги", typeof(string));
            ShortName       = new DdeTableColumn(DdeTableTypes.Security, "Краткое название бумаги", typeof(string));
            Code            = new DdeTableColumn(DdeTableTypes.Security, "Код бумаги", typeof(string));
            Class           = new DdeTableColumn(DdeTableTypes.Security, "Код класса", typeof(string));
            Status          = new DdeTableColumn(DdeTableTypes.Security, "Статус", typeof(string));
            BestBidPrice    = new DdeTableColumn(DdeTableTypes.Security, "Лучшая цена спроса", typeof(decimal));
            BestBidVolume   = new DdeTableColumn(DdeTableTypes.Security, "Спрос по лучшей цене", typeof(decimal));
            BestAskPrice    = new DdeTableColumn(DdeTableTypes.Security, "Лучшая цена предложения", typeof(decimal));
            BestAskVolume   = new DdeTableColumn(DdeTableTypes.Security, "Предложение по лучшей цене", typeof(decimal));
            LastTradePrice  = new DdeTableColumn(DdeTableTypes.Security, "Цена последней сделки", typeof(decimal));
            LastTradeTime   = new DdeTableColumn(DdeTableTypes.Security, "Время последней сделки", typeof(DateTime));
            LastTradeVolume = new DdeTableColumn(DdeTableTypes.Security, "Количество в последней сделке", typeof(decimal));
            Decimals        = new DdeTableColumn(DdeTableTypes.Security, "Точность цены", typeof(int));
            PriceStep       = new DdeTableColumn(DdeTableTypes.Security, "Минимальный шаг цены", typeof(decimal));
            LotVolume       = new DdeTableColumn(DdeTableTypes.Security, "Размер лота", typeof(decimal));
            OpenPrice       = new DdeTableColumn(DdeTableTypes.Security, "Цена открытия", typeof(decimal));
            HighPrice       = new DdeTableColumn(DdeTableTypes.Security, "Максимальная цена сделки", typeof(decimal));
            LowPrice        = new DdeTableColumn(DdeTableTypes.Security, "Минимальная цена сделки", typeof(decimal));
            ClosePrice      = new DdeTableColumn(DdeTableTypes.Security, "Цена закрытия", typeof(decimal));
            SettlementDate  = new DdeTableColumn(DdeTableTypes.Security, "Дата погашения", typeof(DateTime));

            ISIN                         = new DdeTableColumn(DdeTableTypes.Security, "ISIN-код бумаги", typeof(string));
            RegistryId                   = new DdeTableColumn(DdeTableTypes.Security, "Регистрационный номер", typeof(string));
            TradingDate                  = new DdeTableColumn(DdeTableTypes.Security, "Дата торгов", typeof(DateTime));
            SettlementDays               = new DdeTableColumn(DdeTableTypes.Security, "Число дней до погашения", typeof(int));
            Nominal                      = new DdeTableColumn(DdeTableTypes.Security, "Номинал", typeof(decimal));
            NominalCurrency              = new DdeTableColumn(DdeTableTypes.Security, "Валюта номинала", typeof(string));
            Type                         = new DdeTableColumn(DdeTableTypes.Security, "Тип инструмента", typeof(string));
            BidsVolume                   = new DdeTableColumn(DdeTableTypes.Security, "Суммарный спрос", typeof(decimal));
            BidsCount                    = new DdeTableColumn(DdeTableTypes.Security, "Количество заявок на покупку", typeof(int));
            AsksVolume                   = new DdeTableColumn(DdeTableTypes.Security, "Суммарное предложение", typeof(decimal));
            AsksCount                    = new DdeTableColumn(DdeTableTypes.Security, "Количество заявок на продажу", typeof(int));
            PrevTradeDiff                = new DdeTableColumn(DdeTableTypes.Security, "Разница цены последней к закрытию предыдущей сессии", typeof(decimal));
            TotalVolume                  = new DdeTableColumn(DdeTableTypes.Security, "Контрактов во всех сделках", typeof(decimal));
            TotalMoney                   = new DdeTableColumn(DdeTableTypes.Security, "Оборот в деньгах", typeof(decimal));
            SessionState                 = new DdeTableColumn(DdeTableTypes.Security, "Состояние сессии", typeof(string));
            LastTradeValue               = new DdeTableColumn(DdeTableTypes.Security, "Оборот в деньгах последней сделки", typeof(decimal));
            AveragePrice                 = new DdeTableColumn(DdeTableTypes.Security, "Средневзвешенная цена", typeof(decimal));
            MaxBidPrice                  = new DdeTableColumn(DdeTableTypes.Security, "Лучшая цена спроса сегодня", typeof(decimal));
            MinAskPrice                  = new DdeTableColumn(DdeTableTypes.Security, "Лучшая цена предложения сегодня", typeof(decimal));
            PrevMarketPrice              = new DdeTableColumn(DdeTableTypes.Security, "Вчерашняя рыночная цена", typeof(decimal));
            MarketPrice                  = new DdeTableColumn(DdeTableTypes.Security, "Рыночная цена", typeof(decimal));
            MarketPrice2                 = new DdeTableColumn(DdeTableTypes.Security, "Рыночная цена 2", typeof(decimal));
            MainSessionBeginTime         = new DdeTableColumn(DdeTableTypes.Security, "Начало основной сессии", typeof(DateTime));
            MainSessionEndTime           = new DdeTableColumn(DdeTableTypes.Security, "Окончание основной сессии", typeof(DateTime));
            EveningSessionBeginTime      = new DdeTableColumn(DdeTableTypes.Security, "Начало вечерней сессии", typeof(DateTime));
            EveningSessionEndTime        = new DdeTableColumn(DdeTableTypes.Security, "Окончание вечерней сессии", typeof(DateTime));
            MorningSessionBeginTime      = new DdeTableColumn(DdeTableTypes.Security, "Начало утренней сессии", typeof(DateTime));
            MorningEveningSessionEndTime = new DdeTableColumn(DdeTableTypes.Security, "Окончание утренней сессии", typeof(DateTime));
            PriceType                    = new DdeTableColumn(DdeTableTypes.Security, "Тип цены", typeof(string));

            // Срочный рынок ММВБ
            CloseYield        = new DdeTableColumn(DdeTableTypes.Security, "Цена периода закрытия", typeof(decimal));
            Yield             = new DdeTableColumn(DdeTableTypes.Security, "Доходность", typeof(decimal));
            AccruedInt        = new DdeTableColumn(DdeTableTypes.Security, "Накопленный купонный доход", typeof(decimal));
            CouponValue       = new DdeTableColumn(DdeTableTypes.Security, "Размер купона", typeof(decimal));
            NextCoupon        = new DdeTableColumn(DdeTableTypes.Security, "Дата выплаты купона", typeof(DateTime));
            CouponPeriod      = new DdeTableColumn(DdeTableTypes.Security, "Длительность купона", typeof(int));
            BuyBackPrice      = new DdeTableColumn(DdeTableTypes.Security, "Цена оферты", typeof(decimal));
            BuyBackDate       = new DdeTableColumn(DdeTableTypes.Security, "Дата оферты", typeof(DateTime));
            IssueSize         = new DdeTableColumn(DdeTableTypes.Security, "Объем обращения", typeof(int));
            LegalOpenPrice    = new DdeTableColumn(DdeTableTypes.Security, "Официальная цена открытия", typeof(decimal));
            LegalCurrentPrice = new DdeTableColumn(DdeTableTypes.Security, "Официальная текущая цена", typeof(decimal));
            LegalClosePrice   = new DdeTableColumn(DdeTableTypes.Security, "Официальная цена закрытия", typeof(decimal));
            LastTradeVolume2  = new DdeTableColumn(DdeTableTypes.Security, "Количество контрактов в последней сделке", typeof(decimal));

            // Forts
            MinPrice                  = new DdeTableColumn(DdeTableTypes.Security, "Минимально возможная цена", typeof(decimal));
            MaxPrice                  = new DdeTableColumn(DdeTableTypes.Security, "Максимально возможная цена", typeof(decimal));
            OpenPositions             = new DdeTableColumn(DdeTableTypes.Security, "Количество открытых позиций", typeof(decimal));
            Trend                     = new DdeTableColumn(DdeTableTypes.Security, "Разница цен последней и предыдущей сделок", typeof(decimal));
            MarginBuy                 = new DdeTableColumn(DdeTableTypes.Security, "Гарантийное обеспечение покупателя", typeof(decimal));
            MarginSell                = new DdeTableColumn(DdeTableTypes.Security, "Гарантийное обеспечение продавца", typeof(decimal));
            LastChangeTime            = new DdeTableColumn(DdeTableTypes.Security, "Время последнего изменения", typeof(DateTime));
            MarginCovered             = new DdeTableColumn(DdeTableTypes.Security, "БГО по покрытым позициям", typeof(decimal));
            MarginUncovered           = new DdeTableColumn(DdeTableTypes.Security, "БГО по непокрытым позициям", typeof(decimal));
            Strike                    = new DdeTableColumn(DdeTableTypes.Security, "Цена страйк", typeof(decimal));
            StepPrice                 = new DdeTableColumn(DdeTableTypes.Security, "Стоимость шага цены", typeof(decimal));
            OptionType                = new DdeTableColumn(DdeTableTypes.Security, "Тип опциона", typeof(string));
            UnderlyingSecurity        = new DdeTableColumn(DdeTableTypes.Security, "Базовый актив", typeof(string));
            TheorPrice                = new DdeTableColumn(DdeTableTypes.Security, "Теоретическая цена", typeof(decimal));
            ImpliedVolatility         = new DdeTableColumn(DdeTableTypes.Security, "Волатильность опциона", typeof(decimal));
            AggregateRate             = new DdeTableColumn(DdeTableTypes.Security, "Агрегированная ставка", typeof(decimal));
            FuturePriceType           = new DdeTableColumn(DdeTableTypes.Security, "Тип цены фьючерса", typeof(string));
            ClearingStatus            = new DdeTableColumn(DdeTableTypes.Security, "Статус клиринга", typeof(string));
            MinStepPriceCurrency      = new DdeTableColumn(DdeTableTypes.Security, "Валюта шага цены", typeof(string));
            IsMargined                = new DdeTableColumn(DdeTableTypes.Security, "Маржируемый", typeof(string));
            ExpiryDate                = new DdeTableColumn(DdeTableTypes.Security, "Дата исполнения инструмента", typeof(DateTime));
            MinStepPriceMainClearing  = new DdeTableColumn(DdeTableTypes.Security, "Стоимость шага цены для клиринга", typeof(decimal));
            MinStepPriceInterClearing = new DdeTableColumn(DdeTableTypes.Security, "Стоимость шага цены для промклиринга", typeof(decimal));

            // индексы
            IndexCurrentPrice    = new DdeTableColumn(DdeTableTypes.Security, "Значение", typeof(decimal));
            IndexClosePrice      = new DdeTableColumn(DdeTableTypes.Security, "Закрытие", typeof(decimal));
            IndexOpenPrice       = new DdeTableColumn(DdeTableTypes.Security, "Значение индекса на момент открытия торгов", typeof(decimal));
            IndexOpenPriceDelta  = new DdeTableColumn(DdeTableTypes.Security, "Изменение текущего индекса по сравнению со значением открытия", typeof(decimal));
            IndexClosePriceDelta = new DdeTableColumn(DdeTableTypes.Security, "Изменение текущего индекса по сравнению со значением закрытия", typeof(decimal));
        }
示例#19
0
 public static TPlusLimits GetTNLimitType(this Func <DdeTableColumn, object> func, DdeTableColumn column)
 {
     return(func.Get <string>(column).To <TPlusLimits>());
 }
示例#20
0
        public static DateTimeOffset GetExpiryDate(this Func <DdeTableColumn, object> func, DdeTableColumn column)
        {
            if (func == null)
            {
                throw new ArgumentNullException("func");
            }

            var expiryDate = func.Get <string>(column);

            return(expiryDate.CompareIgnoreCase("до отмены") || expiryDate.IsEmpty()
                                ? DateTimeOffset.MaxValue
                                : expiryDate.To <DateTime>().ApplyTimeZone(TimeHelper.Moscow));
        }