Table of Contents

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

IMarketRuleContainer

Methods

ActiveRule(IMarketRuleContainer, IMarketRule, Func<bool>)

To activate the rule.

public static void ActiveRule(this IMarketRuleContainer container, IMarketRule rule, Func<bool> process)

Parameters

container IMarketRuleContainer

The rules container.

rule IMarketRule

Rule.

process Func<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

container IMarketRuleContainer

The rules container.

level LogLevels

The level of the log message.

rule IMarketRule

Rule.

message string

Text message.

args object[]

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

rule IMarketRule

First rule.

rules IMarketRule[]

Additional rules.

Returns

IMarketRule

Combined rule.

And(IEnumerable<IMarketRule>)

To combine rules by AND condition.

public static IMarketRule And(this IEnumerable<IMarketRule> rules)

Parameters

rules IEnumerable<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

rule MarketRule<TToken, TArg>

First rule.

rules MarketRule<TToken, TArg>[]

Additional rules.

Returns

MarketRule<TToken, TArg>

Combined rule.

Type Parameters

TToken

The type of token.

TArg

The type of argument, accepted by the rule.

Apply(IMarketRule)

To form a rule (include IsReady).

public static IMarketRule Apply(this IMarketRule rule)

Parameters

rule IMarketRule

Rule.

Returns

IMarketRule

Rule.

Apply(IMarketRule, IMarketRuleContainer)

To form a rule (include IsReady).

public static IMarketRule Apply(this IMarketRule rule, IMarketRuleContainer container)

Parameters

rule IMarketRule

Rule.

container IMarketRuleContainer

The 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

rule MarketRule<TToken, TArg>

Rule.

Returns

MarketRule<TToken, TArg>

Rule.

Type Parameters

TToken

The type of token.

TArg

The 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

rule MarketRule<TToken, TArg>

Rule.

container IMarketRuleContainer

The rules container.

Returns

MarketRule<TToken, TArg>

Rule.

Type Parameters

TToken

The type of token.

TArg

The 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

position Position

The position to be traced for the change event.

provider IPositionProvider

The 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

rule1 IMarketRule

First rule.

rule2 IMarketRule

Second 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

rule TRule

Rule.

Returns

TRule

Rule.

Type Parameters

TRule

The 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

rule IMarketRule

First rule.

rules IMarketRule[]

Additional rules.

Returns

IMarketRule

Combined rule.

Or(IEnumerable<IMarketRule>)

To combine rules by OR condition.

public static IMarketRule Or(this IEnumerable<IMarketRule> rules)

Parameters

rules IEnumerable<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

rule MarketRule<TToken, TArg>

First rule.

rules MarketRule<TToken, TArg>[]

Additional rules.

Returns

MarketRule<TToken, TArg>

Combined rule.

Type Parameters

TToken

The type of token.

TArg

The 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

container IMarketRuleContainer

The rules container.

action Action

The 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

action Action

The 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

rule TRule

Rule.

suspend bool

true - suspend, false - resume.

Returns

TRule

Rule.

Type Parameters

TRule

The 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

container IMarketRuleContainer

The rules container.

rule IMarketRule

Rule.

checkCanFinish bool

To check the possibility of rule suspension.

Returns

bool

true, if a rule was successfully deleted, false, if a rule cannot be currently deleted.

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

container IMarketRuleContainer

The rules container.

rule IMarketRule

Rule.

Returns

bool

true, if rule was removed, otherwise, false.

UpdateLogLevel<TRule>(TRule, LogLevels)

To set the logging level.

public static TRule UpdateLogLevel<TRule>(this TRule rule, LogLevels level) where TRule : IMarketRule

Parameters

rule TRule

Rule.

level LogLevels

The level, on which logging is performed.

Returns

TRule

Rule.

Type Parameters

TRule

The 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

rule TRule

Rule.

name string

The rule new name.

Returns

TRule

Rule.

Type Parameters

TRule

The 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

order Order

The order to be traced for all trades occurrence event.

provider ISubscriptionProvider

The 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

subscription Subscription

Subscription

provider ISubscriptionProvider

ISubscriptionProvider

level decimal

The 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

subscription Subscription

Subscription

provider ISubscriptionProvider

ISubscriptionProvider

level decimal

The 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

subscription Subscription

Subscription

provider ISubscriptionProvider

ISubscriptionProvider

level decimal

The 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

subscription Subscription

Subscription

provider ISubscriptionProvider

ISubscriptionProvider

level decimal

The 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

order Order

The order to be traced for unsuccessful cancelling event.

provider ISubscriptionProvider

The 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

order Order

The order to be traced for cancelling event.

provider ISubscriptionProvider

The 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription provider.

Returns

MarketRule<Subscription, TCandle>

Rule.

Type Parameters

TCandle

ICandleMessage

WhenCandlesChanged(ISubscriptionProvider, Subscription)

To create a rule for candle change event.

public static MarketRule<Subscription, ICandleMessage> WhenCandlesChanged(this ISubscriptionProvider subscriptionProvider, Subscription subscription)

Parameters

subscriptionProvider ISubscriptionProvider

The subscription manager.

subscription Subscription

Candles 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

subscriptionProvider ISubscriptionProvider

The subscription manager.

subscription Subscription

Candles series to be traced for changed candles.

Returns

MarketRule<Subscription, TCandle>

Rule.

Type Parameters

TCandle

ICandleMessage

WhenCandlesFinished(ISubscriptionProvider, Subscription)

To create a rule for candles end event.

public static MarketRule<Subscription, ICandleMessage> WhenCandlesFinished(this ISubscriptionProvider subscriptionProvider, Subscription subscription)

Parameters

subscriptionProvider ISubscriptionProvider

The subscription manager.

subscription Subscription

Candles 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

subscriptionProvider ISubscriptionProvider

The subscription manager.

subscription Subscription

Candles series to be traced for end of candle.

Returns

MarketRule<Subscription, TCandle>

Rule.

Type Parameters

TCandle

ICandleMessage

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

subscriptionProvider ISubscriptionProvider

The subscription manager.

subscription Subscription

Candles 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

subscriptionProvider ISubscriptionProvider

The subscription manager.

subscription Subscription

Candles series to be traced for new candles.

Returns

MarketRule<Subscription, TCandle>

Rule.

Type Parameters

TCandle

ICandleMessage

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

subscriptionProvider ISubscriptionProvider

The subscription manager.

subscription Subscription

Candles series to be traced for candles.

Returns

MarketRule<Subscription, TCandle>

Rule.

Type Parameters

TCandle

ICandleMessage

WhenChanged(Order, ISubscriptionProvider)

To create a rule for the order change event.

public static MarketRule<Order, Order> WhenChanged(this Order order, ISubscriptionProvider provider)

Parameters

order Order

The order to be traced for the change event.

provider ISubscriptionProvider

The 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

portfolio Portfolio

The portfolio to be traced for the event of change.

provider IPortfolioProvider

The 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

subscriptionProvider ISubscriptionProvider

The subscription manager.

candle TCandle

The candle to be traced for change.

Returns

MarketRule<TCandle, TCandle>

Rule.

Type Parameters

TCandle

ICandleMessage

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

subscriptionProvider ISubscriptionProvider

The subscription manager.

candle TCandle

The candle to be traced for the event of candle closing price reduction below a specific level.

price Unit

The 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

ICandleMessage

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

subscriptionProvider ISubscriptionProvider

The subscription manager.

candle TCandle

The candle to be traced for the event of candle closing price excess above a specific level.

price Unit

The 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

ICandleMessage

WhenConnected(IConnector)

To create a rule for the event of connection established.

public static MarketRule<IConnector, IMessageAdapter> WhenConnected(this IConnector connector)

Parameters

connector IConnector

The 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

connector IConnector

The 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

connector IConnector

The 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

order Order

The order to be traced.

provider ISubscriptionProvider

The 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

order Order

The order to be traced.

provider ITransactionProvider

The 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

subscriptionProvider ISubscriptionProvider

The subscription manager.

candle TCandle

The candle to be traced for end.

Returns

MarketRule<TCandle, TCandle>

Rule.

Type Parameters

TCandle

ICandleMessage

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

provider ITimeProvider

ITimeProvider

interval TimeSpan

Interval.

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

subscription Subscription

Subscription

provider ISubscriptionProvider

ISubscriptionProvider

level decimal

The 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

subscription Subscription

Subscription

provider ISubscriptionProvider

ISubscriptionProvider

level decimal

The 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

position Position

The position to be traced for the event of decrease below the specific level.

provider IPositionProvider

The position provider.

value Unit

The 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription provider.

Returns

MarketRule<Subscription, Level1ChangeMessage>

Rule.

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

order Order

The order to be traced for the fully matching event.

provider ISubscriptionProvider

The 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

portfolio Portfolio

The portfolio to be traced for the event of money decrease below the specific level.

provider IPortfolioProvider

The provider of information about portfolios.

money Unit

The 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

portfolio Portfolio

The portfolio to be traced for the event of money increase above the specific level.

provider IPortfolioProvider

The provider of information about portfolios.

money Unit

The 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

position Position

The position to be traced of the event of increase above the specific level.

provider IPositionProvider

The position provider.

value Unit

The 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

order Order

The order to be traced for trades occurrence events.

provider ISubscriptionProvider

The 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription provider.

isRegister bool

OrderRegisterFailReceived or OrderCancelFailReceived.

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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

subscriptionProvider ISubscriptionProvider

The subscription manager.

subscription Subscription

The candle series to be traced for candle partial end.

percent decimal

The percentage of candle completion.

Returns

MarketRule<Subscription, TCandle>

Rule.

Type Parameters

TCandle

ICandleMessage

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

subscriptionProvider ISubscriptionProvider

The subscription manager.

candle TCandle

The candle to be traced for partial end.

percent decimal

The percentage of candle completion.

Returns

MarketRule<TCandle, TCandle>

Rule.

Type Parameters

TCandle

ICandleMessage

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

order Order

The order to be traced for partial matching event.

provider ISubscriptionProvider

The 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

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

order Order

The order to be traced for unsuccessful registration event.

provider ISubscriptionProvider

The 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

order Order

The order to be traced for the event of successful registration.

provider ISubscriptionProvider

The 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

subscription Subscription

Subscription.

provider ISubscriptionProvider

Subscription 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

provider ITimeProvider

ITimeProvider

times IEnumerable<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

provider ITimeProvider

ITimeProvider

times DateTimeOffset[]

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

subscriptionProvider ISubscriptionProvider

The subscription manager.

candle TCandle

The candle to be traced for the event of candle total volume excess above a specific level.

diff Unit

The 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

ICandleMessage