MarketRuleHelper
Extension class for IMarketRule.
メソッド
ActiveRule(IMarketRuleContainer, IMarketRule, Func<bool>)
To activate the rule.
- container
- The rules container.
- rule
- Rule.
- process
- The handler.
AddRuleLog(IMarketRuleContainer, LogLevels, IMarketRule, string, object[])
To write the message from the rule.
- container
- The rules container.
- level
- The level of the log message.
- rule
- Rule.
- message
- Text message.
- args
- Text message settings. Used if a message is the format string. For details, see Object[]).
And(IEnumerable<IMarketRule>) : IMarketRule
To combine rules by AND condition.
- rules
- Rules.
戻り値: Combined rule.
And(IMarketRule, IMarketRule[]) : MarketRule<T, T>
To combine rules by AND condition.
- rule
- First rule.
- rules
- Additional rules.
戻り値: Combined rule.
And``2(MarketRule<T, T>, MarketRule<T, T>[])
To combine rules by AND condition.
- rule
- First rule.
- rules
- Additional rules.
戻り値: Combined rule.
Apply(IMarketRule, IMarketRuleContainer) : MarketRule<T, T>
To form a rule (include IsReady).
- rule
- Rule.
- container
- The rules container.
戻り値: Rule.
Apply``2(MarketRule<T, T>, IMarketRuleContainer)
To form a rule (include IsReady).
- rule
- Rule.
- container
- The rules container.
戻り値: Rule.
Changed(Position, IPositionProvider) : MarketRule<Position, Position>
To create a rule for the position change event.
- position
- The position to be traced for the change event.
- provider
- The position provider.
戻り値: Rule.
Exclusive(IMarketRule, IMarketRule)
To make rules mutually exclusive.
- rule1
- First rule.
- rule2
- Second rule.
Or(IMarketRule, IMarketRule[]) : MarketRule<T, T>
To combine rules by OR condition.
- rule
- First rule.
- rules
- Additional rules.
戻り値: Combined rule.
Or(IEnumerable<IMarketRule>) : IMarketRule
To combine rules by OR condition.
- rules
- Rules.
戻り値: Combined rule.
Or``2(MarketRule<T, T>, MarketRule<T, T>[])
To combine rules by OR condition.
- rule
- First rule.
- rules
- Additional rules.
戻り値: Combined rule.
SuspendRules(Action)
To process rules in suspended mode (for example, create several rules and start them up simultaneously). After completion of method operation all rules, attached to the container resume their activity.
- action
- The action to be processed at suspended rules. For example, to add several rules simultaneously.
SuspendRules(IMarketRuleContainer, Action)
To process rules in suspended mode (for example, create several rules and start them up simultaneously). After completion of method operation all rules, attached to the container resume their activity.
- container
- The rules container.
- action
- The action to be processed at suspended rules. For example, to add several rules simultaneously.
Suspend``1(T, bool)
To suspend or resume the rule.
- rule
- Rule.
- suspend
- - suspend, - resume.
戻り値: Rule.
TryRemoveRule(IMarketRuleContainer, IMarketRule, bool) : bool
To delete a rule. If a rule is executed at the time when this method is called, it will not be deleted.
- container
- The rules container.
- rule
- Rule.
- checkCanFinish
- To check the possibility of rule suspension.
戻り値: , if a rule was successfully deleted, , if a rule cannot be currently deleted.
TryRemoveWithExclusive(IMarketRuleContainer, IMarketRule) : bool
To delete the rule and all opposite rules. If the rule is executed at the time when this method is called, it will not be deleted.
- container
- The rules container.
- rule
- Rule.
戻り値: , if rule was removed, otherwise, .
UpdateLogLevel``1(T, LogLevels)
To set the logging level.
- rule
- Rule.
- level
- The level, on which logging is performed.
戻り値: Rule.
UpdateName``1(T, string)
To assign the rule a new name Name.
- rule
- Rule.
- name
- The rule new name.
戻り値: Rule.
WhenAllTrades(Order, ISubscriptionProvider) : MarketRule<Order, IEnumerable<MyTrade>>
To create a rule for the event of all trades occurrence for the order.
- order
- The order to be traced for all trades occurrence event.
- provider
- The transactional provider.
戻り値: Rule.
WhenBestAskPriceLess(Subscription, ISubscriptionProvider, decimal) : MarketRule<Subscription, IOrderBookMessage>
To create a rule for the event of dropping the best offer below the specific level.
- subscription
- Subscription
- provider
- ISubscriptionProvider
- level
- The level.
戻り値: Rule.
WhenBestAskPriceMore(Subscription, ISubscriptionProvider, decimal) : MarketRule<Subscription, IOrderBookMessage>
To create a rule for the event of excess of the best offer of the specific level.
- subscription
- Subscription
- provider
- ISubscriptionProvider
- level
- The level.
戻り値: Rule.
WhenBestBidPriceLess(Subscription, ISubscriptionProvider, decimal) : MarketRule<Subscription, IOrderBookMessage>
To create a rule for the event of dropping the best bid below the specific level.
- subscription
- Subscription
- provider
- ISubscriptionProvider
- level
- The level.
戻り値: Rule.
WhenBestBidPriceMore(Subscription, ISubscriptionProvider, decimal) : MarketRule<Subscription, IOrderBookMessage>
To create a rule for the event of excess of the best bid of specific level.
- subscription
- Subscription
- provider
- ISubscriptionProvider
- level
- The level.
戻り値: Rule.
WhenCanceled(Order, ISubscriptionProvider) : MarketRule<Order, Order>
To create a rule for the order cancelling event.
- order
- The order to be traced for cancelling event.
- provider
- The transactional provider.
戻り値: Rule.
WhenCancelFailed(Order, ISubscriptionProvider) : MarketRule<Order, OrderFail>
To create a rule for the event of unsuccessful order cancelling on exchange.
- order
- The order to be traced for unsuccessful cancelling event.
- provider
- The transactional provider.
戻り値: Rule.
WhenCandleReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, T>
To create a rule for the event of CandleReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenCandleReceived``1(Subscription, ISubscriptionProvider)
To create a rule for the event of CandleReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenCandlesChanged(ISubscriptionProvider, Subscription) : MarketRule<Subscription, T>
To create a rule for candle change event.
- subscriptionProvider
- The subscription manager.
- subscription
- Candles series to be traced for changed candles.
戻り値: Rule.
WhenCandlesChanged``1(ISubscriptionProvider, Subscription)
To create a rule for candle change event.
- subscriptionProvider
- The subscription manager.
- subscription
- Candles series to be traced for changed candles.
戻り値: Rule.
WhenCandlesFinished(ISubscriptionProvider, Subscription) : MarketRule<Subscription, T>
To create a rule for candles end event.
- subscriptionProvider
- The subscription manager.
- subscription
- Candles series to be traced for end of candle.
戻り値: Rule.
WhenCandlesFinished``1(ISubscriptionProvider, Subscription)
To create a rule for candles end event.
- subscriptionProvider
- The subscription manager.
- subscription
- Candles series to be traced for end of candle.
戻り値: Rule.
WhenCandlesStarted(ISubscriptionProvider, Subscription) : MarketRule<Subscription, T>
To create a rule for the event of new candles occurrence.
- subscriptionProvider
- The subscription manager.
- subscription
- Candles series to be traced for new candles.
戻り値: Rule.
WhenCandlesStarted``1(ISubscriptionProvider, Subscription)
To create a rule for the event of new candles occurrence.
- subscriptionProvider
- The subscription manager.
- subscription
- Candles series to be traced for new candles.
戻り値: Rule.
WhenCandles``1(ISubscriptionProvider, Subscription)
To create a rule for the event of candles occurrence, change and end.
- subscriptionProvider
- The subscription manager.
- subscription
- Candles series to be traced for candles.
戻り値: Rule.
WhenChanged(Order, ISubscriptionProvider) : MarketRule<Portfolio, Portfolio>
To create a rule for the order change event.
- order
- The order to be traced for the change event.
- provider
- The transactional provider.
戻り値: Rule.
WhenChanged(Portfolio, IPortfolioProvider) : MarketRule<Portfolio, Portfolio>
To create a rule for the event of change portfolio .
- portfolio
- The portfolio to be traced for the event of change.
- provider
- The provider of information about portfolios.
戻り値: Rule.
WhenChanged``1(ISubscriptionProvider, T)
To create a rule for candle change event.
- subscriptionProvider
- The subscription manager.
- candle
- The candle to be traced for change.
戻り値: Rule.
WhenClosePriceLess``1(ISubscriptionProvider, T, Unit)
To create a rule for the event of candle closing price reduction below a specific level.
- subscriptionProvider
- The subscription manager.
- candle
- The candle to be traced for the event of candle closing price reduction below a specific level.
- price
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
戻り値: Rule.
WhenClosePriceMore``1(ISubscriptionProvider, T, Unit)
To create a rule for the event of candle closing price excess above a specific level.
- subscriptionProvider
- The subscription manager.
- candle
- The candle to be traced for the event of candle closing price excess above a specific level.
- price
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
戻り値: Rule.
WhenConnected(IConnector) : MarketRule<IConnector, IMessageAdapter>
To create a rule for the event of connection established.
- connector
- The connection to be traced for state.
戻り値: Rule.
WhenConnectionLost(IConnector) : MarketRule<IConnector, ValueTuple<IMessageAdapter, Exception>>
To create a rule for the event of connection lost.
- connector
- The connection to be traced for state.
戻り値: Rule.
WhenDisconnected(IConnector) : MarketRule<IConnector, IMessageAdapter>
To create a rule for the event of disconnection.
- connector
- The connection to be traced for state.
戻り値: Rule.
WhenEdited(Order, ITransactionProvider) : MarketRule<Order, Order>
To create a rule for the order OrderEdited event.
- order
- The order to be traced.
- provider
- The transactional provider.
戻り値: Rule.
WhenEditFailed(Order, ISubscriptionProvider) : MarketRule<Order, OrderFail>
To create a rule for the order OrderEditFailReceived event.
- order
- The order to be traced.
- provider
- The transactional provider.
戻り値: Rule.
WhenFinished``1(ISubscriptionProvider, T)
To create a rule for candle end event.
- subscriptionProvider
- The subscription manager.
- candle
- The candle to be traced for end.
戻り値: Rule.
WhenIntervalElapsed(ITimeProvider, TimeSpan) : MarketRule<ITimeProvider, ITimeProvider>
To create a rule for the event CurrentTimeChanged, activated after expiration of .
- provider
- ITimeProvider
- interval
- Interval.
戻り値: Rule.
WhenLastTradePriceLess(Subscription, ISubscriptionProvider, decimal) : MarketRule<Subscription, ITickTradeMessage>
To create a rule for the event of reduction of the last trade price below the specific level.
- subscription
- Subscription
- provider
- ISubscriptionProvider
- level
- The level.
戻り値: Rule.
WhenLastTradePriceMore(Subscription, ISubscriptionProvider, decimal) : MarketRule<Subscription, ITickTradeMessage>
To create a rule for the event of increase of the last trade price above the specific level.
- subscription
- Subscription
- provider
- ISubscriptionProvider
- level
- The level.
戻り値: Rule.
WhenLess(Position, IPositionProvider, Unit) : MarketRule<Position, Position>
To create a rule for the event of position decrease below the specific level.
- position
- The position to be traced for the event of decrease below the specific level.
- provider
- The position provider.
- value
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
戻り値: Rule.
WhenLevel1Received(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Level1ChangeMessage>
To create a rule for the event of Level1Received.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenMatched(Order, ISubscriptionProvider) : MarketRule<Order, Order>
To create a rule for the event of order fully matching.
- order
- The order to be traced for the fully matching event.
- provider
- The transactional provider.
戻り値: Rule.
WhenMoneyLess(Portfolio, IPortfolioProvider, Unit) : MarketRule<Portfolio, Portfolio>
To create a rule for the event of money decrease in portfolio below the specific level.
- portfolio
- The portfolio to be traced for the event of money decrease below the specific level.
- provider
- The provider of information about portfolios.
- money
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
戻り値: Rule.
WhenMoneyMore(Portfolio, IPortfolioProvider, Unit) : MarketRule<Portfolio, Portfolio>
To create a rule for the event of money increase in portfolio above the specific level.
- portfolio
- The portfolio to be traced for the event of money increase above the specific level.
- provider
- The provider of information about portfolios.
- money
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
戻り値: Rule.
WhenMore(Position, IPositionProvider, Unit) : MarketRule<Position, Position>
To create a rule for the event of position increase above the specific level.
- position
- The position to be traced of the event of increase above the specific level.
- provider
- The position provider.
- value
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
戻り値: Rule.
WhenNewsReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, News>
To create a rule for the event of NewsReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenNewTrade(Order, ISubscriptionProvider) : MarketRule<Order, MyTrade>
To create a rule for the event of trade occurrence for the order.
- order
- The order to be traced for trades occurrence events.
- provider
- The transactional provider.
戻り値: Rule.
WhenOrderBookReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, IOrderBookMessage>
To create a rule for the event of OrderBookReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenOrderEditFailReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, OrderFail>
To create a rule for the event of OrderEditFailReceived or OrderCancelFailReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenOrderFailReceived(Subscription, ISubscriptionProvider, bool) : MarketRule<Subscription, OrderFail>
To create a rule for the event of OrderRegisterFailReceived or OrderCancelFailReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
- isRegister
- OrderRegisterFailReceived or OrderCancelFailReceived.
戻り値: Rule.
WhenOrderLogReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, IOrderLogMessage>
To create a rule for the event of OrderLogReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenOrderReceived(ISubscriptionProvider) : MarketRule<Subscription, Order>
To create a rule for the event of OrderReceived.
- provider
- Subscription provider.
戻り値: Rule.
WhenOrderReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Order>
To create a rule for the event of OrderReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenOrderRegistered(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Order>
To create a rule for event of occurrence of new order.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenOrderRegistered(ISubscriptionProvider) : MarketRule<Subscription, Order>
To create a rule for event of occurrence of new order.
- provider
- Subscription provider.
戻り値: Rule.
WhenOwnTradeReceived(ISubscriptionProvider) : MarketRule<Subscription, MyTrade>
To create a rule for the event of OwnTradeReceived.
- provider
- Subscription provider.
戻り値: Rule.
WhenOwnTradeReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, MyTrade>
To create a rule for the event of OwnTradeReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenPartiallyFinishedCandles``1(ISubscriptionProvider, Subscription, decimal)
To create a rule for the event of candle partial end.
- subscriptionProvider
- The subscription manager.
- subscription
- The candle series to be traced for candle partial end.
- percent
- The percentage of candle completion.
戻り値: Rule.
WhenPartiallyFinished``1(ISubscriptionProvider, T, decimal)
To create a rule for the event of candle partial end.
- subscriptionProvider
- The subscription manager.
- candle
- The candle to be traced for partial end.
- percent
- The percentage of candle completion.
戻り値: Rule.
WhenPartiallyMatched(Order, ISubscriptionProvider) : MarketRule<Order, Order>
To create a rule for the event of order partial matching.
- order
- The order to be traced for partial matching event.
- provider
- The transactional provider.
戻り値: Rule.
WhenPortfolioReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Portfolio>
To create a rule for the event of PortfolioReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenPortfolioReceived(ISubscriptionProvider) : MarketRule<Subscription, Portfolio>
To create a rule for the event of PortfolioReceived.
- provider
- Subscription provider.
戻り値: Rule.
WhenPositionReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Position>
To create a rule for the event of PositionReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenPositionReceived(ISubscriptionProvider) : MarketRule<Subscription, Position>
To create a rule for the event of PositionReceived.
- provider
- Subscription provider.
戻り値: Rule.
WhenRegistered(Order, ISubscriptionProvider) : MarketRule<Order, Order>
To create a rule for the event of successful order registration on exchange.
- order
- The order to be traced for the event of successful registration.
- provider
- The transactional provider.
戻り値: Rule.
WhenRegisterFailed(Order, ISubscriptionProvider) : MarketRule<Order, OrderFail>
To create a for the event of order unsuccessful registration on exchange.
- order
- The order to be traced for unsuccessful registration event.
- provider
- The transactional provider.
戻り値: Rule.
WhenSubscriptionFailed(Subscription, ISubscriptionProvider) : MarketRule<Subscription, ValueTuple<Subscription, Exception, bool>>
To create a rule for the event of SubscriptionFailed.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenSubscriptionOnline(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Subscription>
To create a rule for the event of SubscriptionOnline.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenSubscriptionStarted(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Subscription>
To create a rule for the event of SubscriptionStarted.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenSubscriptionStopped(Subscription, ISubscriptionProvider) : MarketRule<Subscription, ValueTuple<Subscription, Exception>>
To create a rule for the event of SubscriptionStopped.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenTargetReached(PositionTargetManager, Security, Portfolio) : MarketRule<PositionTargetManager, ValueTuple<Security, Portfolio>>
Create a rule that fires when target position is reached.
- manager
- Position target manager.
- security
- Security to filter (null for any).
- portfolio
- Portfolio to filter (null for any).
戻り値: Rule.
WhenTickTradeReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, ITickTradeMessage>
To create a rule for the event of TickTradeReceived.
- subscription
- Subscription.
- provider
- Subscription provider.
戻り値: Rule.
WhenTimeCome(ITimeProvider, IEnumerable<DateTime>) : MarketRule<ITimeProvider, DateTime>
To create a rule, activated at the exact time, specified through .
- provider
- ITimeProvider
- times
- The exact time. Several values may be sent.
戻り値: Rule.
WhenTimeCome(ITimeProvider, DateTime[]) : MarketRule<ITimeProvider, DateTime>
To create a rule, activated at the exact time, specified through .
- provider
- ITimeProvider
- times
- The exact time. Several values may be sent.
戻り値: Rule.
WhenTotalVolumeMore``1(ISubscriptionProvider, T, Unit)
To create a rule for the event of candle total volume excess above a specific level.
- subscriptionProvider
- The subscription manager.
- candle
- The candle to be traced for the event of candle total volume excess above a specific level.
- diff
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
戻り値: Rule.
フィールド
DefaultRuleContainer : IMarketRuleContainer
The container of rules, which will be applied by default to all rules, not included into strategy.