MarketRuleHelper

StockSharp.Algo

Extension class for IMarketRule.

Methods

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.

Returns: Combined rule.

And(IMarketRule, IMarketRule[]) : MarketRule<T, T>

To combine rules by AND condition.

rule
First rule.
rules
Additional rules.

Returns: Combined rule.

And``2(MarketRule<T, T>, MarketRule<T, T>[])

To combine rules by AND condition.

rule
First rule.
rules
Additional rules.

Returns: Combined rule.

Apply(IMarketRule, IMarketRuleContainer) : MarketRule<T, T>

To form a rule (include IsReady).

rule
Rule.
container
The rules container.

Returns: Rule.

Apply(IMarketRule) : MarketRule<T, T>

To form a rule (include IsReady).

rule
Rule.

Returns: Rule.

Apply``2(MarketRule<T, T>)

To form a rule (include IsReady).

rule
Rule.

Returns: Rule.

Apply``2(MarketRule<T, T>, IMarketRuleContainer)

To form a rule (include IsReady).

rule
Rule.
container
The rules container.

Returns: 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.

Returns: Rule.

Exclusive(IMarketRule, IMarketRule)

To make rules mutually exclusive.

rule1
First rule.
rule2
Second rule.
Once``1(T)

To make the rule one-time rule (will be called only once).

rule
Rule.

Returns: Rule.

Or(IMarketRule, IMarketRule[]) : MarketRule<T, T>

To combine rules by OR condition.

rule
First rule.
rules
Additional rules.

Returns: Combined rule.

Or(IEnumerable<IMarketRule>) : IMarketRule

To combine rules by OR condition.

rules
Rules.

Returns: Combined rule.

Or``2(MarketRule<T, T>, MarketRule<T, T>[])

To combine rules by OR condition.

rule
First rule.
rules
Additional rules.

Returns: 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.

Returns: 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.

Returns: , 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.

Returns: , if rule was removed, otherwise, .

UpdateLogLevel``1(T, LogLevels)

To set the logging level.

rule
Rule.
level
The level, on which logging is performed.

Returns: Rule.

UpdateName``1(T, string)

To assign the rule a new name Name.

rule
Rule.
name
The rule new name.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: Rule.

WhenCandleReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, T>

To create a rule for the event of CandleReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenCandleReceived``1(Subscription, ISubscriptionProvider)

To create a rule for the event of CandleReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: Rule.

WhenConnected(IConnector) : MarketRule<IConnector, IMessageAdapter>

To create a rule for the event of connection established.

connector
The connection to be traced for state.

Returns: 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.

Returns: Rule.

WhenDisconnected(IConnector) : MarketRule<IConnector, IMessageAdapter>

To create a rule for the event of disconnection.

connector
The connection to be traced for state.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: Rule.

WhenIntervalElapsed(ITimeProvider, TimeSpan) : MarketRule<ITimeProvider, ITimeProvider>

To create a rule for the event CurrentTimeChanged, activated after expiration of .

provider
ITimeProvider
interval
Interval.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: Rule.

WhenLevel1Received(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Level1ChangeMessage>

To create a rule for the event of Level1Received.

subscription
Subscription.
provider
Subscription provider.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: Rule.

WhenNewsReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, News>

To create a rule for the event of NewsReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: 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.

Returns: Rule.

WhenOrderBookReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, IOrderBookMessage>

To create a rule for the event of OrderBookReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenOrderEditFailReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, OrderFail>

To create a rule for the event of OrderEditFailReceived or OrderCancelFailReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: 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.

Returns: Rule.

WhenOrderLogReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, IOrderLogMessage>

To create a rule for the event of OrderLogReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenOrderReceived(ISubscriptionProvider) : MarketRule<Subscription, Order>

To create a rule for the event of OrderReceived.

provider
Subscription provider.

Returns: Rule.

WhenOrderReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Order>

To create a rule for the event of OrderReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenOrderRegistered(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Order>

To create a rule for event of occurrence of new order.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenOrderRegistered(ISubscriptionProvider) : MarketRule<Subscription, Order>

To create a rule for event of occurrence of new order.

provider
Subscription provider.

Returns: Rule.

WhenOwnTradeReceived(ISubscriptionProvider) : MarketRule<Subscription, MyTrade>

To create a rule for the event of OwnTradeReceived.

provider
Subscription provider.

Returns: Rule.

WhenOwnTradeReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, MyTrade>

To create a rule for the event of OwnTradeReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: Rule.

WhenPortfolioReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Portfolio>

To create a rule for the event of PortfolioReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenPortfolioReceived(ISubscriptionProvider) : MarketRule<Subscription, Portfolio>

To create a rule for the event of PortfolioReceived.

provider
Subscription provider.

Returns: Rule.

WhenPositionReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Position>

To create a rule for the event of PositionReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenPositionReceived(ISubscriptionProvider) : MarketRule<Subscription, Position>

To create a rule for the event of PositionReceived.

provider
Subscription provider.

Returns: 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.

Returns: 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.

Returns: Rule.

WhenSubscriptionFailed(Subscription, ISubscriptionProvider) : MarketRule<Subscription, ValueTuple<Subscription, Exception, bool>>

To create a rule for the event of SubscriptionFailed.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenSubscriptionOnline(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Subscription>

To create a rule for the event of SubscriptionOnline.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenSubscriptionStarted(Subscription, ISubscriptionProvider) : MarketRule<Subscription, Subscription>

To create a rule for the event of SubscriptionStarted.

subscription
Subscription.
provider
Subscription provider.

Returns: Rule.

WhenSubscriptionStopped(Subscription, ISubscriptionProvider) : MarketRule<Subscription, ValueTuple<Subscription, Exception>>

To create a rule for the event of SubscriptionStopped.

subscription
Subscription.
provider
Subscription provider.

Returns: 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).

Returns: Rule.

WhenTickTradeReceived(Subscription, ISubscriptionProvider) : MarketRule<Subscription, ITickTradeMessage>

To create a rule for the event of TickTradeReceived.

subscription
Subscription.
provider
Subscription provider.

Returns: 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.

Returns: 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.

Returns: 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.

Returns: Rule.

Fields

DefaultRuleContainer : IMarketRuleContainer

The container of rules, which will be applied by default to all rules, not included into strategy.