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 }); }
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)); }
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)); } } }
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)); }
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)); }
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); } }
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)); }
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)); }
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)); } }
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); } }
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)); }
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)); }
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); } }
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); }
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)); }
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); }
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)); }
public static TPlusLimits GetTNLimitType(this Func <DdeTableColumn, object> func, DdeTableColumn column) { return(func.Get <string>(column).To <TPlusLimits>()); }
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)); }