EntitiesExtensions

StockSharp.BusinessEntities

Extension class for BusinessEntities.

Properties

AllCandleMessageTypes
public static IEnumerable<Type> AllCandleMessageTypes { get; }
value = EntitiesExtensions.AllCandleMessageTypes

All registered candle message types.

AllSecurity
public static Security AllSecurity { get; }
value = EntitiesExtensions.AllSecurity

"All securities" instance.

TrySecurityProvider
public static ISecurityProvider TrySecurityProvider { get; }
value = EntitiesExtensions.TrySecurityProvider

ISecurityProvider

Methods

AddOrSubtractTradingDays
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.

ApplyChanges
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.

ApplyChanges
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.
ApplyChanges
public static void ApplyChanges(Position position, PositionChangeMessage message)
EntitiesExtensions.ApplyChanges(position, message)

Apply changes to the position object.

position
Position.
message
Position change message.
ApplyChanges
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.
ApplyChanges
public static void ApplyChanges(Security security, Level1ChangeMessage message)
EntitiesExtensions.ApplyChanges(security, message)

Apply change to the security object.

security
Security.
message
Changes.
ApplyChanges
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.
ApplyNewState
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.
CreateCancelMessage
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.

CreateRegisterMessage
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.

CreateReplaceMessage
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.

EnumerateExchangeBoards
public static IEnumerable<ExchangeBoard> EnumerateExchangeBoards()
result = EntitiesExtensions.EnumerateExchangeBoards()

To get a list of boards.

Returns: Boards.

EnumerateExchanges
public static IEnumerable<Exchange> EnumerateExchanges()
result = EntitiesExtensions.EnumerateExchanges()

To get a list of exchanges.

Returns: Exchanges.

FillMessage``1
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.

Filter
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.

Filter
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.

Filter
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.

Filter
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.

Filter
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.

Filter
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.

Filter
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.

Filter
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.

Filter
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.

Filter
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.

Filter
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.

Filter
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.

FindSubscriptions
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.

FindSubscriptions
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.

GetAveragePrice
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.

GetExpiryDates
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.

GetOrCreateBoard
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.

GetOrCreateBoard
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.

HasExternalId
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, .

IsAllSecurity
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, .

IsLookupAll
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.

Lookup
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.

LookupBoards
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.

LookupBoards2
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.

LookupById
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.

LookupById
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.

Pips
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.

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.

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.

Points
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.

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.

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.

RequestNewsStory
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.
ReRegisterClone
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.

ReRegisterOrder
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.

ReRegisterOrderEx
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.
ShrinkPrice
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.

ToBoard
public static ExchangeBoard ToBoard(BoardMessage message)
result = EntitiesExtensions.ToBoard(message)

To convert the message into board.

message
Message.

Returns: Board.

ToChangeMessage
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.

ToChangeMessage
public static PositionChangeMessage ToChangeMessage(Portfolio portfolio)
result = EntitiesExtensions.ToChangeMessage(portfolio)

To convert the portfolio into message.

portfolio
Portfolio.

Returns: Message.

ToDataTypeString
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.

ToExchange
public static Exchange ToExchange(BoardMessage message)
result = EntitiesExtensions.ToExchange(message)

To convert the message into exchange.

message
Message.

Returns: Exchange.

ToExchange
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.

ToExternalId
public static SecurityExternalId ToExternalId(SecurityId securityId)
result = EntitiesExtensions.ToExternalId(securityId)

Cast SecurityId to the SecurityExternalId.

securityId
SecurityId.

Returns: SecurityExternalId.

ToLookupCriteria
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.

ToLookupCriteria
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.

ToLookupCriteria
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.

ToLookupMessage
public static SecurityLookupMessage ToLookupMessage(Security criteria)
result = EntitiesExtensions.ToLookupMessage(criteria)

Convert Security criteria to SecurityLookupMessage.

criteria
Criteria.

Returns: Message.

ToMessage
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.

ToMessage
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.

ToMessage
public static ExecutionMessage ToMessage(Order order)
result = EntitiesExtensions.ToMessage(order)

To convert the order into message.

order
Order.

Returns: Message.

ToMessage
public static ExecutionMessage ToMessage(MyTrade trade)
result = EntitiesExtensions.ToMessage(trade)

To convert the own trade into message.

trade
Own trade.

Returns: Message.

ToMessage
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.

ToMessage
public static NewsMessage ToMessage(News news)
result = EntitiesExtensions.ToMessage(news)

To convert news into message.

news
News.

Returns: Message.

ToMessage
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.

ToNews
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.

ToOrder
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.

ToOrder
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.

ToPortfolio
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.

ToSecurity
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.

ToSecurityId
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.

ToSecurityId
public static SecurityId ToSecurityId(SecurityExternalId externalId, SecurityId secId)
result = EntitiesExtensions.ToSecurityId(externalId, secId)

Cast SecurityExternalId to the SecurityId.

externalId
SecurityExternalId.
secId
SecurityId.

Returns: SecurityId.

ToSecurityId
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.

TryGetSecurity
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

LookupAllCriteria
public static readonly Security LookupAllCriteria
value = EntitiesExtensions.LookupAllCriteria

Lookup all securities predefined criteria.

MoneySecurity
public static readonly Security MoneySecurity
value = EntitiesExtensions.MoneySecurity

"Money" security instance.

NewsSecurity
public static readonly Security NewsSecurity
value = EntitiesExtensions.NewsSecurity

"News" security instance.