EntitiesExtensions
Extension class for BusinessEntities.
Properties
public static IEnumerable<Type> AllCandleMessageTypes { get; }
value = EntitiesExtensions.AllCandleMessageTypes
All registered candle message types.
public static Security AllSecurity { get; }
value = EntitiesExtensions.AllSecurity
"All securities" instance.
public static ISecurityProvider TrySecurityProvider { get; }
value = EntitiesExtensions.TrySecurityProvider
ISecurityProvider
Methods
public static DateTime AddOrSubtractTradingDays(ExchangeBoard board, DateTime date, int n, bool checkHolidays)
result = EntitiesExtensions.AddOrSubtractTradingDays(board, date, n, checkHolidays)
To get date of day T +/- of N trading days.
- board
- Board info.
- date
- The start T date, to which are added or subtracted N trading days.
- n
- The N size. The number of trading days for the addition or subtraction.
- checkHolidays
- Whether to check the passed date for a weekday (Saturday and Sunday are days off, returned value for them is ).
Returns: The end T +/- N date.
public static ExchangeBoard ApplyChanges(ExchangeBoard board, BoardMessage message)
result = EntitiesExtensions.ApplyChanges(board, message)
To convert the message into board.
- board
- Board.
- message
- Message.
Returns: Board.
public static void ApplyChanges(Portfolio portfolio, PositionChangeMessage message, IExchangeInfoProvider exchangeInfoProvider)
EntitiesExtensions.ApplyChanges(portfolio, message, exchangeInfoProvider)
Apply changes to the portfolio object.
- portfolio
- Portfolio.
- message
- Portfolio change message.
- exchangeInfoProvider
- Exchanges and trading boards provider.
public static void ApplyChanges(Position position, PositionChangeMessage message)
EntitiesExtensions.ApplyChanges(position, message)
Apply changes to the position object.
- position
- Position.
- message
- Position change message.
public static void ApplyChanges(Security security, IEnumerable<KeyValuePair<Level1Fields, object>> changes, DateTime serverTime, DateTime localTime, Action<Security, Level1Fields, object> defaultHandler)
EntitiesExtensions.ApplyChanges(security, changes, serverTime, localTime, defaultHandler)
Apply change to the security object.
- security
- Security.
- changes
- Changes.
- serverTime
- Change server time.
- localTime
- Local timestamp when a message was received/created.
- defaultHandler
- Default handler.
public static void ApplyChanges(Security security, Level1ChangeMessage message)
EntitiesExtensions.ApplyChanges(security, message)
Apply change to the security object.
- security
- Security.
- message
- Changes.
public static void ApplyChanges(Security security, SecurityMessage message, IExchangeInfoProvider exchangeInfoProvider, bool isOverride)
EntitiesExtensions.ApplyChanges(security, message, exchangeInfoProvider, isOverride)
Apply change to the security object.
- security
- Security.
- message
- Meta info.
- exchangeInfoProvider
- Exchanges and trading boards provider.
- isOverride
- Override previous security data by new values.
public static void ApplyNewState(Order order, OrderStates state, ILogReceiver logs)
EntitiesExtensions.ApplyNewState(order, state, logs)
Check the possibility order's state change.
- order
- Order.
- state
- Current order's state.
- logs
- Logs.
public static OrderCancelMessage CreateCancelMessage(Order order, SecurityId securityId, long transactionId)
result = EntitiesExtensions.CreateCancelMessage(order, securityId, transactionId)
To create the message of cancelling old order.
- order
- Order.
- securityId
- Security ID.
- transactionId
- The transaction number.
Returns: Message.
public static OrderRegisterMessage CreateRegisterMessage(Order order, SecurityId? securityId)
result = EntitiesExtensions.CreateRegisterMessage(order, securityId)
To create the message of new order registration.
- order
- Order.
- securityId
- Security ID.
Returns: Message.
public static OrderReplaceMessage CreateReplaceMessage(Order oldOrder, Order newOrder, SecurityId securityId)
result = EntitiesExtensions.CreateReplaceMessage(oldOrder, newOrder, securityId)
To create the message of replacing old order with new one.
- oldOrder
- Old order.
- newOrder
- New order.
- securityId
- Security ID.
Returns: Message.
public static IEnumerable<ExchangeBoard> EnumerateExchangeBoards()
result = EntitiesExtensions.EnumerateExchangeBoards()
To get a list of boards.
Returns: Boards.
public static IEnumerable<Exchange> EnumerateExchanges()
result = EntitiesExtensions.EnumerateExchanges()
To get a list of exchanges.
Returns: Exchanges.
public static TMessage FillMessage<TMessage>(Security security, TMessage message)
result = EntitiesExtensions.FillMessage(security, message)
To convert the instrument into message.
- security
- Security.
- message
- Message.
Returns: Message.
public static IEnumerable<Security> Filter(IEnumerable<Security> securities, Security criteria)
result = EntitiesExtensions.Filter(securities, criteria)
To filter instruments by the given criteria.
- securities
- Securities.
- criteria
- The instrument whose fields will be used as a filter.
Returns: Instruments filtered.
public static IEnumerable<ExchangeBoard> Filter(IEnumerable<ExchangeBoard> boards, BoardLookupMessage criteria)
result = EntitiesExtensions.Filter(boards, criteria)
Filter boards by code criteria.
- boards
- All boards.
- criteria
- Criteria.
Returns: Found boards.
public static IEnumerable<Security> Filter(IEnumerable<Security> securities, ExchangeBoard board)
result = EntitiesExtensions.Filter(securities, board)
To filter instruments by the trading board.
- securities
- Securities.
- board
- Trading board.
Returns: Instruments filtered.
public static IEnumerable<Portfolio> Filter(IEnumerable<Portfolio> portfolios, PortfolioLookupMessage criteria)
result = EntitiesExtensions.Filter(portfolios, criteria)
Filter portfolios by the specified criteria.
- portfolios
- All portfolios.
- criteria
- Criteria.
Returns: Found portfolios.
public static IEnumerable<MyTrade> Filter(IEnumerable<MyTrade> myTrades, Order order)
result = EntitiesExtensions.Filter(myTrades, order)
To filter own trades for the given order.
- myTrades
- All own trades, in which the required shall be looked for.
- order
- The order, for which trades shall be filtered.
Returns: Filtered orders.
public static IEnumerable<MyTrade> Filter(IEnumerable<MyTrade> myTrades, Portfolio portfolio)
result = EntitiesExtensions.Filter(myTrades, portfolio)
To filter own trades for the given portfolio.
- myTrades
- All own trades, in which the required shall be looked for.
- portfolio
- The portfolio, for which the trades shall be filtered.
Returns: Filtered trades.
public static IEnumerable<Position> Filter(IEnumerable<Position> positions, Portfolio portfolio)
result = EntitiesExtensions.Filter(positions, portfolio)
To filter positions for the given portfolio.
- positions
- All positions, in which the required shall be searched for.
- portfolio
- The portfolio, for which positions shall be filtered.
Returns: Filtered positions.
public static IEnumerable<Order> Filter(IEnumerable<Order> orders, Sides side)
result = EntitiesExtensions.Filter(orders, side)
To filter orders for the given direction.
- orders
- All orders, in which the required shall be searched for.
- side
- Order side.
Returns: Filtered orders.
public static IEnumerable<Order> Filter(IEnumerable<Order> orders, OrderStates state)
result = EntitiesExtensions.Filter(orders, state)
To filter orders for the given condition.
- orders
- All orders, in which the required shall be searched for.
- state
- Order state.
Returns: Filtered orders.
public static IEnumerable<Order> Filter(IEnumerable<Order> orders, Portfolio portfolio)
result = EntitiesExtensions.Filter(orders, portfolio)
To filter orders for the given portfolio.
- orders
- All orders, in which the required shall be searched for.
- portfolio
- The portfolio, for which the orders shall be filtered.
Returns: Filtered orders.
public static IEnumerable<Security> Filter(IEnumerable<Security> securities, SecurityLookupMessage criteria)
result = EntitiesExtensions.Filter(securities, criteria)
To filter instruments by the given criteria.
- securities
- Securities.
- criteria
- Message security lookup for specified criteria.
Returns: Instruments filtered.
public static IEnumerable<Position> Filter(IEnumerable<Position> positions, PortfolioLookupMessage criteria)
result = EntitiesExtensions.Filter(positions, criteria)
Filter positions the specified criteria.
- positions
- All positions.
- criteria
- Criteria.
Returns: Found positions.
public static IEnumerable<Subscription> FindSubscriptions(ISubscriptionProvider provider, Security security, DataType dataType)
result = EntitiesExtensions.FindSubscriptions(provider, security, dataType)
Find subscriptions for the specified security and data type.
- provider
- Subscription provider.
- security
- Security.
- dataType
- Data type info.
Returns: Subscriptions.
public static IEnumerable<Subscription> FindSubscriptions(ISubscriptionProvider provider, SecurityId securityId, DataType dataType)
result = EntitiesExtensions.FindSubscriptions(provider, securityId, dataType)
Find subscriptions for the specified security and data type.
- provider
- Subscription provider.
- securityId
- SecurityId
- dataType
- Data type info.
Returns: Subscriptions.
public static decimal GetAveragePrice(IEnumerable<MyTrade> trades)
result = EntitiesExtensions.GetAveragePrice(trades)
To get the weighted mean price of matching by own trades.
- trades
- Trades, for which the weighted mean price of matching shall be got.
Returns: The weighted mean price. If no trades, 0 is returned.
public static IEnumerable<DateTime> GetExpiryDates(DateTime from, DateTime to)
result = EntitiesExtensions.GetExpiryDates(from, to)
To get the expiration date for Forts.
- from
- The start of the expiration range.
- to
- The end of the expiration range.
Returns: Expiration dates.
public static ExchangeBoard GetOrCreateBoard(IExchangeInfoProvider exchangeInfoProvider, string code, Func<string, ExchangeBoard> createBoard)
result = EntitiesExtensions.GetOrCreateBoard(exchangeInfoProvider, code, createBoard)
To get a board by its code. If board with the passed name does not exist, then it will be created.
- exchangeInfoProvider
- Exchanges and trading boards provider.
- code
- Board code.
- createBoard
- The handler creating a board, if it is not found. If the value is , then the board is created by default initialization.
Returns: Exchange board.
public static ExchangeBoard GetOrCreateBoard(IExchangeInfoProvider exchangeInfoProvider, string code, bool isNew, Func<string, ExchangeBoard> createBoard)
result = EntitiesExtensions.GetOrCreateBoard(exchangeInfoProvider, code, isNew, createBoard)
To get a board by its code. If board with the passed name does not exist, then it will be created.
- exchangeInfoProvider
- Exchanges and trading boards provider.
- code
- Board code.
- isNew
- Is newly created.
- createBoard
- The handler creating a board, if it is not found. If the value is , then the board is created by default initialization.
Returns: Exchange board.
public static bool HasExternalId(SecurityId securityId)
result = EntitiesExtensions.HasExternalId(securityId)
To check, if SecurityId contains identifiers of external sources.
- securityId
- Security ID.
Returns: , if there are identifiers of external sources, otherwise, .
public static bool IsAllSecurity(Security security)
result = EntitiesExtensions.IsAllSecurity(security)
Check if the specified security is AllSecurity.
- security
- Security.
Returns: , if the specified security is AllSecurity, otherwise, .
public static bool IsLookupAll(Security criteria)
result = EntitiesExtensions.IsLookupAll(criteria)
Determine the contains lookup all filter.
- criteria
- The instrument whose fields will be used as a filter.
Returns: Check result.
public static IEnumerable<Security> Lookup(ISecurityProvider provider, SecurityLookupMessage criteria)
result = EntitiesExtensions.Lookup(provider, criteria)
Lookup securities by criteria .
- provider
- ISecurityProvider
- criteria
- Message security lookup for specified criteria.
Returns: Found instruments.
public static IEnumerable<ExchangeBoard> LookupBoards(IExchangeInfoProvider provider, BoardLookupMessage criteria)
result = EntitiesExtensions.LookupBoards(provider, criteria)
Filter boards by code criteria.
- provider
- The exchange boards provider.
- criteria
- Criteria.
Returns: Found boards.
public static IEnumerable<BoardMessage> LookupBoards2(IExchangeInfoProvider provider, BoardLookupMessage criteria)
result = EntitiesExtensions.LookupBoards2(provider, criteria)
Filter boards by code criteria.
- provider
- The exchange boards provider.
- criteria
- Criteria.
Returns: Found boards.
public static Security LookupById(ISecurityProvider provider, string id)
result = EntitiesExtensions.LookupById(provider, id)
To get the instrument by the identifier.
- provider
- The provider of information about instruments.
- id
- Security ID.
Returns: The got instrument. If there is no instrument by given criteria, is returned.
public static Security LookupById(ISecurityProvider provider, SecurityId id)
result = EntitiesExtensions.LookupById(provider, id)
To get the instrument by the identifier.
- provider
- ISecurityProvider
- id
- Security ID.
Returns: The got instrument. If there is no instrument by given criteria, is returned.
public static Unit Pips(int value, Security security)
result = EntitiesExtensions.Pips(value, security)
To create from Int32 the pips values.
- value
- Int32 value.
- security
- The instrument from which information about the price increment is taken.
Returns: Pips.
public static Unit Pips(double value, Security security)
result = EntitiesExtensions.Pips(value, security)
To create from Double the pips values.
- value
- Double value.
- security
- The instrument from which information about the price increment is taken.
Returns: Pips.
public static Unit Pips(decimal value, Security security)
result = EntitiesExtensions.Pips(value, security)
To create from Decimal the pips values.
- value
- Decimal value.
- security
- The instrument from which information about the price increment is taken.
Returns: Pips.
public static Unit Points(double value, Security security)
result = EntitiesExtensions.Points(value, security)
To create from Double the points values.
- value
- Double value.
- security
- The instrument from which information about the price increment cost is taken.
Returns: Points.
public static Unit Points(int value, Security security)
result = EntitiesExtensions.Points(value, security)
To create from Int32 the points values.
- value
- Int32 value.
- security
- The instrument from which information about the price increment cost is taken.
Returns: Points.
public static Unit Points(decimal value, Security security)
result = EntitiesExtensions.Points(value, security)
To create from Decimal the points values.
- value
- Decimal value.
- security
- The instrument from which information about the price increment cost is taken.
Returns: Points.
public static void RequestNewsStory(ISubscriptionProvider provider, News news)
EntitiesExtensions.RequestNewsStory(provider, news)
Request news story subscription.
- provider
- Subscription provider.
- news
- News item to subscribe to.
public static Order ReRegisterClone(Order oldOrder, decimal? newPrice, decimal? newVolume)
result = EntitiesExtensions.ReRegisterClone(oldOrder, newPrice, newVolume)
To create copy of the order for re-registration.
- oldOrder
- The original order.
- newPrice
- Price of the new order.
- newVolume
- Volume of the new order.
Returns: New order.
public static Order ReRegisterOrder(ITransactionProvider provider, Order oldOrder, decimal price, decimal volume)
result = EntitiesExtensions.ReRegisterOrder(provider, oldOrder, price, volume)
Reregister the order.
- provider
- The transactional provider.
- oldOrder
- Changing order.
- price
- Price of the new order.
- volume
- Volume of the new order.
Returns: New order.
public static void ReRegisterOrderEx(ITransactionProvider provider, Order order, Order clone)
EntitiesExtensions.ReRegisterOrderEx(provider, order, clone)
Reregister the order.
- provider
- The transactional provider.
- order
- Order.
- clone
- Changes.
public static decimal ShrinkPrice(Security security, decimal price)
result = EntitiesExtensions.ShrinkPrice(security, price)
To cut the price, to make it multiple of minimal step, also to limit number of signs after the comma.
- security
- Security
- price
- The price to be made multiple.
Returns: The multiple price.
public static ExchangeBoard ToBoard(BoardMessage message)
result = EntitiesExtensions.ToBoard(message)
To convert the message into board.
- message
- Message.
Returns: Board.
public static PositionChangeMessage ToChangeMessage(Position position, long originalTransactionId)
result = EntitiesExtensions.ToChangeMessage(position, originalTransactionId)
To convert the position into message.
- position
- Position.
- originalTransactionId
- ID of original transaction, for which this message is the answer.
Returns: Message.
public static PositionChangeMessage ToChangeMessage(Portfolio portfolio)
result = EntitiesExtensions.ToChangeMessage(portfolio)
To convert the portfolio into message.
- portfolio
- Portfolio.
Returns: Message.
public static string ToDataTypeString(MarketDataMessage message)
result = EntitiesExtensions.ToDataTypeString(message)
Format data type into into human-readable string.
- message
- Market-data message (uses as a subscribe/unsubscribe in outgoing case, confirmation event in incoming case).
Returns: String.
public static Exchange ToExchange(BoardMessage message)
result = EntitiesExtensions.ToExchange(message)
To convert the message into exchange.
- message
- Message.
Returns: Exchange.
public static Exchange ToExchange(BoardMessage message, Exchange exchange)
result = EntitiesExtensions.ToExchange(message, exchange)
To convert the message into exchange.
- message
- Message.
- exchange
- Exchange.
Returns: Exchange.
public static SecurityExternalId ToExternalId(SecurityId securityId)
result = EntitiesExtensions.ToExternalId(securityId)
Cast SecurityId to the SecurityExternalId.
- securityId
- SecurityId.
Returns: SecurityExternalId.
public static Security ToLookupCriteria(SecurityLookupMessage message, IExchangeInfoProvider exchangeInfoProvider)
result = EntitiesExtensions.ToLookupCriteria(message, exchangeInfoProvider)
Convert SecurityLookupMessage message to Security criteria.
- message
- Message.
- exchangeInfoProvider
- Exchanges and trading boards provider.
Returns: Criteria.
public static OrderStatusMessage ToLookupCriteria(Order criteria, decimal? volume, Sides? side)
result = EntitiesExtensions.ToLookupCriteria(criteria, volume, side)
Convert Order to OrderStatusMessage value.
- criteria
- The criterion which fields will be used as a filter.
- volume
- Volume.
- side
- Order side.
Returns: A message requesting current registered orders and trades.
public static PortfolioLookupMessage ToLookupCriteria(Portfolio criteria)
result = EntitiesExtensions.ToLookupCriteria(criteria)
Convert Portfolio to PortfolioLookupMessage value.
- criteria
- The criterion which fields will be used as a filter.
Returns: Message portfolio lookup for specified criteria.
public static SecurityLookupMessage ToLookupMessage(Security criteria)
result = EntitiesExtensions.ToLookupMessage(criteria)
Convert Security criteria to SecurityLookupMessage.
- criteria
- Criteria.
Returns: Message.
public static SecurityMessage ToMessage(Security security, SecurityId? securityId, long originalTransactionId, bool copyExtendedId)
result = EntitiesExtensions.ToMessage(security, securityId, originalTransactionId, copyExtendedId)
To convert the instrument into message.
- security
- Security.
- securityId
- Security ID.
- originalTransactionId
- ID of original transaction, for which this message is the answer.
- copyExtendedId
- Copy ExternalId and Type.
Returns: Message.
public static ExecutionMessage ToMessage(OrderFail fail, long originalTransactionId)
result = EntitiesExtensions.ToMessage(fail, originalTransactionId)
To convert the error description into message.
- fail
- Error details.
- originalTransactionId
- ID of original transaction, for which this message is the answer.
Returns: Message.
public static ExecutionMessage ToMessage(Order order)
result = EntitiesExtensions.ToMessage(order)
To convert the order into message.
- order
- Order.
Returns: Message.
public static ExecutionMessage ToMessage(MyTrade trade)
result = EntitiesExtensions.ToMessage(trade)
To convert the own trade into message.
- trade
- Own trade.
Returns: Message.
public static BoardMessage ToMessage(ExchangeBoard board, long originalTransactionId)
result = EntitiesExtensions.ToMessage(board, originalTransactionId)
To convert the board into message.
- board
- Board.
- originalTransactionId
- ID of original transaction, for which this message is the answer.
Returns: Message.
public static NewsMessage ToMessage(News news)
result = EntitiesExtensions.ToMessage(news)
To convert news into message.
- news
- News.
Returns: Message.
public static PortfolioMessage ToMessage(Portfolio portfolio, long originalTransactionId)
result = EntitiesExtensions.ToMessage(portfolio, originalTransactionId)
To convert the portfolio into message.
- portfolio
- Portfolio.
- originalTransactionId
- ID of original transaction, for which this message is the answer.
Returns: Message.
public static News ToNews(NewsMessage message, IExchangeInfoProvider exchangeInfoProvider)
result = EntitiesExtensions.ToNews(message, exchangeInfoProvider)
Cast NewsMessage to the News.
- message
- Message.
- exchangeInfoProvider
- Exchanges and trading boards provider.
Returns: News.
public static Order ToOrder(ExecutionMessage message, Security security)
result = EntitiesExtensions.ToOrder(message, security)
To convert the message into order.
- message
- Message.
- security
- Security.
Returns: Order.
public static Order ToOrder(ExecutionMessage message, Order order)
result = EntitiesExtensions.ToOrder(message, order)
To convert the message into order.
- message
- Message.
- order
- The order.
Returns: Order.
public static Portfolio ToPortfolio(PortfolioMessage message, Portfolio portfolio, IExchangeInfoProvider exchangeInfoProvider)
result = EntitiesExtensions.ToPortfolio(message, portfolio, exchangeInfoProvider)
Cast PortfolioMessage to the Portfolio.
- message
- Message.
- portfolio
- Portfolio.
- exchangeInfoProvider
- Exchanges and trading boards provider.
Returns: Portfolio.
public static Security ToSecurity(SecurityMessage message, IExchangeInfoProvider exchangeInfoProvider)
result = EntitiesExtensions.ToSecurity(message, exchangeInfoProvider)
To convert the message into instrument.
- message
- Message.
- exchangeInfoProvider
- Exchanges and trading boards provider.
Returns: Security.
public static SecurityId ToSecurityId(SecurityExternalId externalId, string securityCode, string boardCode)
result = EntitiesExtensions.ToSecurityId(externalId, securityCode, boardCode)
Cast SecurityExternalId to the SecurityId.
- externalId
- SecurityExternalId.
- securityCode
- Security code.
- boardCode
- Board code.
Returns: SecurityId.
public static SecurityId ToSecurityId(SecurityExternalId externalId, SecurityId secId)
result = EntitiesExtensions.ToSecurityId(externalId, secId)
Cast SecurityExternalId to the SecurityId.
- externalId
- SecurityExternalId.
- secId
- SecurityId.
Returns: SecurityId.
public static SecurityId ToSecurityId(Security security, SecurityIdGenerator idGenerator, bool boardIsRequired, bool copyExtended)
result = EntitiesExtensions.ToSecurityId(security, idGenerator, boardIsRequired, copyExtended)
To convert the instrument into SecurityId.
- security
- Security.
- idGenerator
- The instrument identifiers generator Id.
- boardIsRequired
- Board is required.
- copyExtended
- Copy ExternalId and Type.
Returns: Security ID.
public static Security TryGetSecurity(Subscription subscription, ISecurityProvider provider)
result = EntitiesExtensions.TryGetSecurity(subscription, provider)
Try to get the security for the specified subscription.
- subscription
- Subscription
- provider
- ISecurityProvider
Returns: Security
Fields
public static readonly Security LookupAllCriteria
value = EntitiesExtensions.LookupAllCriteria
Lookup all securities predefined criteria.
public static readonly Security MoneySecurity
value = EntitiesExtensions.MoneySecurity
"Money" security instance.
public static readonly Security NewsSecurity
value = EntitiesExtensions.NewsSecurity
"News" security instance.