Class MarketRuleHelper
- Namespace
- StockSharp.Algo
- Assembly
- StockSharp.Algo.dll
Extension class for IMarketRule.
public static class MarketRuleHelper
- Inheritance
-
MarketRuleHelper
- Inherited Members
Fields
DefaultRuleContainer
The container of rules, which will be applied by default to all rules, not included into strategy.
public static readonly IMarketRuleContainer DefaultRuleContainer
Field Value
Methods
ActiveRule(IMarketRuleContainer, IMarketRule, Func<bool>)
To activate the rule.
public static void ActiveRule(this IMarketRuleContainer container, IMarketRule rule, Func<bool> process)
Parameters
containerIMarketRuleContainerThe rules container.
ruleIMarketRuleRule.
processFunc<bool>The handler.
AddRuleLog(IMarketRuleContainer, LogLevels, IMarketRule, string, params object[])
To write the message from the rule.
public static void AddRuleLog(this IMarketRuleContainer container, LogLevels level, IMarketRule rule, string message, params object[] args)
Parameters
containerIMarketRuleContainerThe rules container.
levelLogLevelsThe level of the log message.
ruleIMarketRuleRule.
messagestringText message.
argsobject[]Text message settings. Used if a message is the format string. For details, see Format(string, params object[]).
And(IMarketRule, params IMarketRule[])
To combine rules by AND condition.
public static IMarketRule And(this IMarketRule rule, params IMarketRule[] rules)
Parameters
ruleIMarketRuleFirst rule.
rulesIMarketRule[]Additional rules.
Returns
- IMarketRule
Combined rule.
And(IEnumerable<IMarketRule>)
To combine rules by AND condition.
public static IMarketRule And(this IEnumerable<IMarketRule> rules)
Parameters
rulesIEnumerable<IMarketRule>Rules.
Returns
- IMarketRule
Combined rule.
And<TToken, TArg>(MarketRule<TToken, TArg>, params MarketRule<TToken, TArg>[])
To combine rules by AND condition.
public static MarketRule<TToken, TArg> And<TToken, TArg>(this MarketRule<TToken, TArg> rule, params MarketRule<TToken, TArg>[] rules)
Parameters
ruleMarketRule<TToken, TArg>First rule.
rulesMarketRule<TToken, TArg>[]Additional rules.
Returns
- MarketRule<TToken, TArg>
Combined rule.
Type Parameters
TTokenThe type of token.
TArgThe type of argument, accepted by the rule.
Apply(IMarketRule)
To form a rule (include IsReady).
public static IMarketRule Apply(this IMarketRule rule)
Parameters
ruleIMarketRuleRule.
Returns
- IMarketRule
Rule.
Apply(IMarketRule, IMarketRuleContainer)
To form a rule (include IsReady).
public static IMarketRule Apply(this IMarketRule rule, IMarketRuleContainer container)
Parameters
ruleIMarketRuleRule.
containerIMarketRuleContainerThe rules container.
Returns
- IMarketRule
Rule.
Apply<TToken, TArg>(MarketRule<TToken, TArg>)
To form a rule (include IsReady).
public static MarketRule<TToken, TArg> Apply<TToken, TArg>(this MarketRule<TToken, TArg> rule)
Parameters
ruleMarketRule<TToken, TArg>Rule.
Returns
- MarketRule<TToken, TArg>
Rule.
Type Parameters
TTokenThe type of token.
TArgThe type of argument, accepted by the rule.
Apply<TToken, TArg>(MarketRule<TToken, TArg>, IMarketRuleContainer)
To form a rule (include IsReady).
public static MarketRule<TToken, TArg> Apply<TToken, TArg>(this MarketRule<TToken, TArg> rule, IMarketRuleContainer container)
Parameters
ruleMarketRule<TToken, TArg>Rule.
containerIMarketRuleContainerThe rules container.
Returns
- MarketRule<TToken, TArg>
Rule.
Type Parameters
TTokenThe type of token.
TArgThe type of argument, accepted by the rule.
Changed(Position, IPositionProvider)
To create a rule for the position change event.
public static MarketRule<Position, Position> Changed(this Position position, IPositionProvider provider)
Parameters
positionPositionThe position to be traced for the change event.
providerIPositionProviderThe position provider.
Returns
- MarketRule<Position, Position>
Rule.
Exclusive(IMarketRule, IMarketRule)
To make rules mutually exclusive.
public static void Exclusive(this IMarketRule rule1, IMarketRule rule2)
Parameters
rule1IMarketRuleFirst rule.
rule2IMarketRuleSecond rule.
Once<TRule>(TRule)
To make the rule one-time rule (will be called only once).
public static TRule Once<TRule>(this TRule rule) where TRule : IMarketRule
Parameters
ruleTRuleRule.
Returns
- TRule
Rule.
Type Parameters
TRuleThe type of the rule.
Or(IMarketRule, params IMarketRule[])
To combine rules by OR condition.
public static IMarketRule Or(this IMarketRule rule, params IMarketRule[] rules)
Parameters
ruleIMarketRuleFirst rule.
rulesIMarketRule[]Additional rules.
Returns
- IMarketRule
Combined rule.
Or(IEnumerable<IMarketRule>)
To combine rules by OR condition.
public static IMarketRule Or(this IEnumerable<IMarketRule> rules)
Parameters
rulesIEnumerable<IMarketRule>Rules.
Returns
- IMarketRule
Combined rule.
Or<TToken, TArg>(MarketRule<TToken, TArg>, params MarketRule<TToken, TArg>[])
To combine rules by OR condition.
public static MarketRule<TToken, TArg> Or<TToken, TArg>(this MarketRule<TToken, TArg> rule, params MarketRule<TToken, TArg>[] rules)
Parameters
ruleMarketRule<TToken, TArg>First rule.
rulesMarketRule<TToken, TArg>[]Additional rules.
Returns
- MarketRule<TToken, TArg>
Combined rule.
Type Parameters
TTokenThe type of token.
TArgThe type of argument, accepted by the rule.
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.
public static void SuspendRules(this IMarketRuleContainer container, Action action)
Parameters
containerIMarketRuleContainerThe rules container.
actionActionThe action to be processed at suspended rules. For example, to add several rules simultaneously.
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.
public static void SuspendRules(Action action)
Parameters
actionActionThe action to be processed at suspended rules. For example, to add several rules simultaneously.
Suspend<TRule>(TRule, bool)
To suspend or resume the rule.
public static TRule Suspend<TRule>(this TRule rule, bool suspend) where TRule : IMarketRule
Parameters
Returns
- TRule
Rule.
Type Parameters
TRuleThe type of the rule.
TryRemoveRule(IMarketRuleContainer, IMarketRule, bool)
To delete a rule. If a rule is executed at the time when this method is called, it will not be deleted.
public static bool TryRemoveRule(this IMarketRuleContainer container, IMarketRule rule, bool checkCanFinish = true)
Parameters
containerIMarketRuleContainerThe rules container.
ruleIMarketRuleRule.
checkCanFinishboolTo check the possibility of rule suspension.
Returns
TryRemoveWithExclusive(IMarketRuleContainer, IMarketRule)
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.
public static bool TryRemoveWithExclusive(this IMarketRuleContainer container, IMarketRule rule)
Parameters
containerIMarketRuleContainerThe rules container.
ruleIMarketRuleRule.
Returns
UpdateLogLevel<TRule>(TRule, LogLevels)
To set the logging level.
public static TRule UpdateLogLevel<TRule>(this TRule rule, LogLevels level) where TRule : IMarketRule
Parameters
ruleTRuleRule.
levelLogLevelsThe level, on which logging is performed.
Returns
- TRule
Rule.
Type Parameters
TRuleThe type of the rule.
UpdateName<TRule>(TRule, string)
To assign the rule a new name Name.
public static TRule UpdateName<TRule>(this TRule rule, string name) where TRule : IMarketRule
Parameters
ruleTRuleRule.
namestringThe rule new name.
Returns
- TRule
Rule.
Type Parameters
TRuleThe type of the rule.
WhenAllTrades(Order, ISubscriptionProvider)
To create a rule for the event of all trades occurrence for the order.
public static MarketRule<Order, IEnumerable<MyTrade>> WhenAllTrades(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced for all trades occurrence event.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, IEnumerable<MyTrade>>
Rule.
WhenBestAskPriceLess(Subscription, ISubscriptionProvider, decimal)
To create a rule for the event of dropping the best offer below the specific level.
public static MarketRule<Subscription, IOrderBookMessage> WhenBestAskPriceLess(this Subscription subscription, ISubscriptionProvider provider, decimal level)
Parameters
subscriptionSubscriptionproviderISubscriptionProviderleveldecimalThe level.
Returns
- MarketRule<Subscription, IOrderBookMessage>
Rule.
WhenBestAskPriceMore(Subscription, ISubscriptionProvider, decimal)
To create a rule for the event of excess of the best offer of the specific level.
public static MarketRule<Subscription, IOrderBookMessage> WhenBestAskPriceMore(this Subscription subscription, ISubscriptionProvider provider, decimal level)
Parameters
subscriptionSubscriptionproviderISubscriptionProviderleveldecimalThe level.
Returns
- MarketRule<Subscription, IOrderBookMessage>
Rule.
WhenBestBidPriceLess(Subscription, ISubscriptionProvider, decimal)
To create a rule for the event of dropping the best bid below the specific level.
public static MarketRule<Subscription, IOrderBookMessage> WhenBestBidPriceLess(this Subscription subscription, ISubscriptionProvider provider, decimal level)
Parameters
subscriptionSubscriptionproviderISubscriptionProviderleveldecimalThe level.
Returns
- MarketRule<Subscription, IOrderBookMessage>
Rule.
WhenBestBidPriceMore(Subscription, ISubscriptionProvider, decimal)
To create a rule for the event of excess of the best bid of specific level.
public static MarketRule<Subscription, IOrderBookMessage> WhenBestBidPriceMore(this Subscription subscription, ISubscriptionProvider provider, decimal level)
Parameters
subscriptionSubscriptionproviderISubscriptionProviderleveldecimalThe level.
Returns
- MarketRule<Subscription, IOrderBookMessage>
Rule.
WhenCancelFailed(Order, ISubscriptionProvider)
To create a rule for the event of unsuccessful order cancelling on exchange.
public static MarketRule<Order, OrderFail> WhenCancelFailed(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced for unsuccessful cancelling event.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, OrderFail>
Rule.
WhenCanceled(Order, ISubscriptionProvider)
To create a rule for the order cancelling event.
public static MarketRule<Order, Order> WhenCanceled(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced for cancelling event.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, Order>
Rule.
WhenCandleReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of CandleReceived.
public static MarketRule<Subscription, ICandleMessage> WhenCandleReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, ICandleMessage>
Rule.
WhenCandleReceived<TCandle>(Subscription, ISubscriptionProvider)
To create a rule for the event of CandleReceived.
public static MarketRule<Subscription, TCandle> WhenCandleReceived<TCandle>(this Subscription subscription, ISubscriptionProvider provider) where TCandle : ICandleMessage
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, TCandle>
Rule.
Type Parameters
TCandle
WhenCandlesChanged(ISubscriptionProvider, Subscription)
To create a rule for candle change event.
public static MarketRule<Subscription, ICandleMessage> WhenCandlesChanged(this ISubscriptionProvider subscriptionProvider, Subscription subscription)
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
subscriptionSubscriptionCandles series to be traced for changed candles.
Returns
- MarketRule<Subscription, ICandleMessage>
Rule.
WhenCandlesChanged<TCandle>(ISubscriptionProvider, Subscription)
To create a rule for candle change event.
public static MarketRule<Subscription, TCandle> WhenCandlesChanged<TCandle>(this ISubscriptionProvider subscriptionProvider, Subscription subscription) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
subscriptionSubscriptionCandles series to be traced for changed candles.
Returns
- MarketRule<Subscription, TCandle>
Rule.
Type Parameters
TCandle
WhenCandlesFinished(ISubscriptionProvider, Subscription)
To create a rule for candles end event.
public static MarketRule<Subscription, ICandleMessage> WhenCandlesFinished(this ISubscriptionProvider subscriptionProvider, Subscription subscription)
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
subscriptionSubscriptionCandles series to be traced for end of candle.
Returns
- MarketRule<Subscription, ICandleMessage>
Rule.
WhenCandlesFinished<TCandle>(ISubscriptionProvider, Subscription)
To create a rule for candles end event.
public static MarketRule<Subscription, TCandle> WhenCandlesFinished<TCandle>(this ISubscriptionProvider subscriptionProvider, Subscription subscription) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
subscriptionSubscriptionCandles series to be traced for end of candle.
Returns
- MarketRule<Subscription, TCandle>
Rule.
Type Parameters
TCandle
WhenCandlesStarted(ISubscriptionProvider, Subscription)
To create a rule for the event of new candles occurrence.
public static MarketRule<Subscription, ICandleMessage> WhenCandlesStarted(this ISubscriptionProvider subscriptionProvider, Subscription subscription)
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
subscriptionSubscriptionCandles series to be traced for new candles.
Returns
- MarketRule<Subscription, ICandleMessage>
Rule.
WhenCandlesStarted<TCandle>(ISubscriptionProvider, Subscription)
To create a rule for the event of new candles occurrence.
public static MarketRule<Subscription, TCandle> WhenCandlesStarted<TCandle>(this ISubscriptionProvider subscriptionProvider, Subscription subscription) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
subscriptionSubscriptionCandles series to be traced for new candles.
Returns
- MarketRule<Subscription, TCandle>
Rule.
Type Parameters
TCandle
WhenCandles<TCandle>(ISubscriptionProvider, Subscription)
To create a rule for the event of candles occurrence, change and end.
public static MarketRule<Subscription, TCandle> WhenCandles<TCandle>(this ISubscriptionProvider subscriptionProvider, Subscription subscription) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
subscriptionSubscriptionCandles series to be traced for candles.
Returns
- MarketRule<Subscription, TCandle>
Rule.
Type Parameters
TCandle
WhenChanged(Order, ISubscriptionProvider)
To create a rule for the order change event.
public static MarketRule<Order, Order> WhenChanged(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced for the change event.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, Order>
Rule.
WhenChanged(Portfolio, IPortfolioProvider)
To create a rule for the event of change portfolio .
public static MarketRule<Portfolio, Portfolio> WhenChanged(this Portfolio portfolio, IPortfolioProvider provider)
Parameters
portfolioPortfolioThe portfolio to be traced for the event of change.
providerIPortfolioProviderThe provider of information about portfolios.
Returns
- MarketRule<Portfolio, Portfolio>
Rule.
WhenChanged<TCandle>(ISubscriptionProvider, TCandle)
To create a rule for candle change event.
public static MarketRule<TCandle, TCandle> WhenChanged<TCandle>(this ISubscriptionProvider subscriptionProvider, TCandle candle) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
candleTCandleThe candle to be traced for change.
Returns
- MarketRule<TCandle, TCandle>
Rule.
Type Parameters
TCandle
WhenClosePriceLess<TCandle>(ISubscriptionProvider, TCandle, Unit)
To create a rule for the event of candle closing price reduction below a specific level.
public static MarketRule<TCandle, TCandle> WhenClosePriceLess<TCandle>(this ISubscriptionProvider subscriptionProvider, TCandle candle, Unit price) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
candleTCandleThe candle to be traced for the event of candle closing price reduction below a specific level.
priceUnitThe level. If the Type type equals to Limit, specified price is set. Otherwise, shift value is specified.
Returns
- MarketRule<TCandle, TCandle>
Rule.
Type Parameters
TCandle
WhenClosePriceMore<TCandle>(ISubscriptionProvider, TCandle, Unit)
To create a rule for the event of candle closing price excess above a specific level.
public static MarketRule<TCandle, TCandle> WhenClosePriceMore<TCandle>(this ISubscriptionProvider subscriptionProvider, TCandle candle, Unit price) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
candleTCandleThe candle to be traced for the event of candle closing price excess above a specific level.
priceUnitThe level. If the Type type equals to Limit, specified price is set. Otherwise, shift value is specified.
Returns
- MarketRule<TCandle, TCandle>
Rule.
Type Parameters
TCandle
WhenConnected(IConnector)
To create a rule for the event of connection established.
public static MarketRule<IConnector, IMessageAdapter> WhenConnected(this IConnector connector)
Parameters
connectorIConnectorThe connection to be traced for state.
Returns
- MarketRule<IConnector, IMessageAdapter>
Rule.
WhenConnectionLost(IConnector)
To create a rule for the event of connection lost.
public static MarketRule<IConnector, Tuple<IMessageAdapter, Exception>> WhenConnectionLost(this IConnector connector)
Parameters
connectorIConnectorThe connection to be traced for state.
Returns
- MarketRule<IConnector, Tuple<IMessageAdapter, Exception>>
Rule.
WhenDisconnected(IConnector)
To create a rule for the event of disconnection.
public static MarketRule<IConnector, IMessageAdapter> WhenDisconnected(this IConnector connector)
Parameters
connectorIConnectorThe connection to be traced for state.
Returns
- MarketRule<IConnector, IMessageAdapter>
Rule.
WhenEditFailed(Order, ISubscriptionProvider)
To create a rule for the order OrderEditFailReceived event.
public static MarketRule<Order, OrderFail> WhenEditFailed(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, OrderFail>
Rule.
WhenEdited(Order, ITransactionProvider)
To create a rule for the order OrderEdited event.
[Obsolete("Use WhenChanged rule.")]
public static MarketRule<Order, Order> WhenEdited(this Order order, ITransactionProvider provider)
Parameters
orderOrderThe order to be traced.
providerITransactionProviderThe transactional provider.
Returns
- MarketRule<Order, Order>
Rule.
WhenFinished<TCandle>(ISubscriptionProvider, TCandle)
To create a rule for candle end event.
public static MarketRule<TCandle, TCandle> WhenFinished<TCandle>(this ISubscriptionProvider subscriptionProvider, TCandle candle) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
candleTCandleThe candle to be traced for end.
Returns
- MarketRule<TCandle, TCandle>
Rule.
Type Parameters
TCandle
WhenIntervalElapsed(ITimeProvider, TimeSpan)
To create a rule for the event CurrentTimeChanged, activated after expiration of interval.
public static MarketRule<ITimeProvider, ITimeProvider> WhenIntervalElapsed(this ITimeProvider provider, TimeSpan interval)
Parameters
providerITimeProviderintervalTimeSpanInterval.
Returns
- MarketRule<ITimeProvider, ITimeProvider>
Rule.
WhenLastTradePriceLess(Subscription, ISubscriptionProvider, decimal)
To create a rule for the event of reduction of the last trade price below the specific level.
public static MarketRule<Subscription, ITickTradeMessage> WhenLastTradePriceLess(this Subscription subscription, ISubscriptionProvider provider, decimal level)
Parameters
subscriptionSubscriptionproviderISubscriptionProviderleveldecimalThe level.
Returns
- MarketRule<Subscription, ITickTradeMessage>
Rule.
WhenLastTradePriceMore(Subscription, ISubscriptionProvider, decimal)
To create a rule for the event of increase of the last trade price above the specific level.
public static MarketRule<Subscription, ITickTradeMessage> WhenLastTradePriceMore(this Subscription subscription, ISubscriptionProvider provider, decimal level)
Parameters
subscriptionSubscriptionproviderISubscriptionProviderleveldecimalThe level.
Returns
- MarketRule<Subscription, ITickTradeMessage>
Rule.
WhenLess(Position, IPositionProvider, Unit)
To create a rule for the event of position decrease below the specific level.
public static MarketRule<Position, Position> WhenLess(this Position position, IPositionProvider provider, Unit value)
Parameters
positionPositionThe position to be traced for the event of decrease below the specific level.
providerIPositionProviderThe position provider.
valueUnitThe level. If the Type type equals to Limit, specified price is set. Otherwise, shift value is specified.
Returns
- MarketRule<Position, Position>
Rule.
WhenLevel1Received(Subscription, ISubscriptionProvider)
To create a rule for the event of Level1Received.
public static MarketRule<Subscription, Level1ChangeMessage> WhenLevel1Received(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
WhenMatched(Order, ISubscriptionProvider)
To create a rule for the event of order fully matching.
public static MarketRule<Order, Order> WhenMatched(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced for the fully matching event.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, Order>
Rule.
WhenMoneyLess(Portfolio, IPortfolioProvider, Unit)
To create a rule for the event of money decrease in portfolio below the specific level.
public static MarketRule<Portfolio, Portfolio> WhenMoneyLess(this Portfolio portfolio, IPortfolioProvider provider, Unit money)
Parameters
portfolioPortfolioThe portfolio to be traced for the event of money decrease below the specific level.
providerIPortfolioProviderThe provider of information about portfolios.
moneyUnitThe level. If the Type type equals to Limit, specified price is set. Otherwise, shift value is specified.
Returns
- MarketRule<Portfolio, Portfolio>
Rule.
WhenMoneyMore(Portfolio, IPortfolioProvider, Unit)
To create a rule for the event of money increase in portfolio above the specific level.
public static MarketRule<Portfolio, Portfolio> WhenMoneyMore(this Portfolio portfolio, IPortfolioProvider provider, Unit money)
Parameters
portfolioPortfolioThe portfolio to be traced for the event of money increase above the specific level.
providerIPortfolioProviderThe provider of information about portfolios.
moneyUnitThe level. If the Type type equals to Limit, specified price is set. Otherwise, shift value is specified.
Returns
- MarketRule<Portfolio, Portfolio>
Rule.
WhenMore(Position, IPositionProvider, Unit)
To create a rule for the event of position increase above the specific level.
public static MarketRule<Position, Position> WhenMore(this Position position, IPositionProvider provider, Unit value)
Parameters
positionPositionThe position to be traced of the event of increase above the specific level.
providerIPositionProviderThe position provider.
valueUnitThe level. If the Type type equals to Limit, specified price is set. Otherwise, shift value is specified.
Returns
- MarketRule<Position, Position>
Rule.
WhenNewTrade(Order, ISubscriptionProvider)
To create a rule for the event of trade occurrence for the order.
public static MarketRule<Order, MyTrade> WhenNewTrade(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced for trades occurrence events.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, MyTrade>
Rule.
WhenNewsReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of NewsReceived.
public static MarketRule<Subscription, News> WhenNewsReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, News>
Rule.
WhenOrderBookReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of OrderBookReceived.
public static MarketRule<Subscription, IOrderBookMessage> WhenOrderBookReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, IOrderBookMessage>
Rule.
WhenOrderEditFailReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of OrderEditFailReceived or OrderCancelFailReceived.
public static MarketRule<Subscription, OrderFail> WhenOrderEditFailReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, OrderFail>
Rule.
WhenOrderFailReceived(Subscription, ISubscriptionProvider, bool)
To create a rule for the event of OrderRegisterFailReceived or OrderCancelFailReceived.
public static MarketRule<Subscription, OrderFail> WhenOrderFailReceived(this Subscription subscription, ISubscriptionProvider provider, bool isRegister)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
isRegisterbool
Returns
- MarketRule<Subscription, OrderFail>
Rule.
WhenOrderLogReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of OrderLogReceived.
public static MarketRule<Subscription, IOrderLogMessage> WhenOrderLogReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, IOrderLogMessage>
Rule.
WhenOrderReceived(ISubscriptionProvider)
To create a rule for the event of OrderReceived.
public static MarketRule<Subscription, Order> WhenOrderReceived(this ISubscriptionProvider provider)
Parameters
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Order>
Rule.
WhenOrderReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of OrderReceived.
public static MarketRule<Subscription, Order> WhenOrderReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Order>
Rule.
WhenOrderRegistered(ISubscriptionProvider)
To create a rule for event of occurrence of new order.
public static MarketRule<Subscription, Order> WhenOrderRegistered(this ISubscriptionProvider provider)
Parameters
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Order>
Rule.
WhenOrderRegistered(Subscription, ISubscriptionProvider)
To create a rule for event of occurrence of new order.
public static MarketRule<Subscription, Order> WhenOrderRegistered(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Order>
Rule.
WhenOwnTradeReceived(ISubscriptionProvider)
To create a rule for the event of OwnTradeReceived.
public static MarketRule<Subscription, MyTrade> WhenOwnTradeReceived(this ISubscriptionProvider provider)
Parameters
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, MyTrade>
Rule.
WhenOwnTradeReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of OwnTradeReceived.
public static MarketRule<Subscription, MyTrade> WhenOwnTradeReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, MyTrade>
Rule.
WhenPartiallyFinishedCandles<TCandle>(ISubscriptionProvider, Subscription, decimal)
To create a rule for the event of candle partial end.
public static MarketRule<Subscription, TCandle> WhenPartiallyFinishedCandles<TCandle>(this ISubscriptionProvider subscriptionProvider, Subscription subscription, decimal percent) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
subscriptionSubscriptionThe candle series to be traced for candle partial end.
percentdecimalThe percentage of candle completion.
Returns
- MarketRule<Subscription, TCandle>
Rule.
Type Parameters
TCandle
WhenPartiallyFinished<TCandle>(ISubscriptionProvider, TCandle, decimal)
To create a rule for the event of candle partial end.
public static MarketRule<TCandle, TCandle> WhenPartiallyFinished<TCandle>(this ISubscriptionProvider subscriptionProvider, TCandle candle, decimal percent) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
candleTCandleThe candle to be traced for partial end.
percentdecimalThe percentage of candle completion.
Returns
- MarketRule<TCandle, TCandle>
Rule.
Type Parameters
TCandle
WhenPartiallyMatched(Order, ISubscriptionProvider)
To create a rule for the event of order partial matching.
public static MarketRule<Order, Order> WhenPartiallyMatched(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced for partial matching event.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, Order>
Rule.
WhenPortfolioReceived(ISubscriptionProvider)
To create a rule for the event of PortfolioReceived.
public static MarketRule<Subscription, Portfolio> WhenPortfolioReceived(this ISubscriptionProvider provider)
Parameters
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Portfolio>
Rule.
WhenPortfolioReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of PortfolioReceived.
public static MarketRule<Subscription, Portfolio> WhenPortfolioReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Portfolio>
Rule.
WhenPositionReceived(ISubscriptionProvider)
To create a rule for the event of PositionReceived.
public static MarketRule<Subscription, Position> WhenPositionReceived(this ISubscriptionProvider provider)
Parameters
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Position>
Rule.
WhenPositionReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of PositionReceived.
public static MarketRule<Subscription, Position> WhenPositionReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Position>
Rule.
WhenRegisterFailed(Order, ISubscriptionProvider)
To create a for the event of order unsuccessful registration on exchange.
public static MarketRule<Order, OrderFail> WhenRegisterFailed(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced for unsuccessful registration event.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, OrderFail>
Rule.
WhenRegistered(Order, ISubscriptionProvider)
To create a rule for the event of successful order registration on exchange.
public static MarketRule<Order, Order> WhenRegistered(this Order order, ISubscriptionProvider provider)
Parameters
orderOrderThe order to be traced for the event of successful registration.
providerISubscriptionProviderThe transactional provider.
Returns
- MarketRule<Order, Order>
Rule.
WhenSubscriptionFailed(Subscription, ISubscriptionProvider)
To create a rule for the event of SubscriptionFailed.
public static MarketRule<Subscription, Tuple<Subscription, Exception, bool>> WhenSubscriptionFailed(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Tuple<Subscription, Exception, bool>>
Rule.
WhenSubscriptionOnline(Subscription, ISubscriptionProvider)
To create a rule for the event of SubscriptionOnline.
public static MarketRule<Subscription, Subscription> WhenSubscriptionOnline(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Subscription>
Rule.
WhenSubscriptionStarted(Subscription, ISubscriptionProvider)
To create a rule for the event of SubscriptionStarted.
public static MarketRule<Subscription, Subscription> WhenSubscriptionStarted(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Subscription>
Rule.
WhenSubscriptionStopped(Subscription, ISubscriptionProvider)
To create a rule for the event of SubscriptionStopped.
public static MarketRule<Subscription, Tuple<Subscription, Exception>> WhenSubscriptionStopped(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, Tuple<Subscription, Exception>>
Rule.
WhenTickTradeReceived(Subscription, ISubscriptionProvider)
To create a rule for the event of TickTradeReceived.
public static MarketRule<Subscription, ITickTradeMessage> WhenTickTradeReceived(this Subscription subscription, ISubscriptionProvider provider)
Parameters
subscriptionSubscriptionSubscription.
providerISubscriptionProviderSubscription provider.
Returns
- MarketRule<Subscription, ITickTradeMessage>
Rule.
WhenTimeCome(ITimeProvider, IEnumerable<DateTimeOffset>)
To create a rule, activated at the exact time, specified through times.
public static MarketRule<ITimeProvider, DateTimeOffset> WhenTimeCome(this ITimeProvider provider, IEnumerable<DateTimeOffset> times)
Parameters
providerITimeProvidertimesIEnumerable<DateTimeOffset>The exact time. Several values may be sent.
Returns
- MarketRule<ITimeProvider, DateTimeOffset>
Rule.
WhenTimeCome(ITimeProvider, params DateTimeOffset[])
To create a rule, activated at the exact time, specified through times.
public static MarketRule<ITimeProvider, DateTimeOffset> WhenTimeCome(this ITimeProvider provider, params DateTimeOffset[] times)
Parameters
providerITimeProvidertimesDateTimeOffset[]The exact time. Several values may be sent.
Returns
- MarketRule<ITimeProvider, DateTimeOffset>
Rule.
WhenTotalVolumeMore<TCandle>(ISubscriptionProvider, TCandle, Unit)
To create a rule for the event of candle total volume excess above a specific level.
public static MarketRule<TCandle, TCandle> WhenTotalVolumeMore<TCandle>(this ISubscriptionProvider subscriptionProvider, TCandle candle, Unit diff) where TCandle : ICandleMessage
Parameters
subscriptionProviderISubscriptionProviderThe subscription manager.
candleTCandleThe candle to be traced for the event of candle total volume excess above a specific level.
diffUnitThe level. If the Type type equals to Limit, specified price is set. Otherwise, shift value is specified.
Returns
- MarketRule<TCandle, TCandle>
Rule.
Type Parameters
TCandle