StrategyHelper
Classe de extensão para Estratégia.
Métodos
public static IMarketRule Cancel(IMarketRule rule, Order order)
result = StrategyHelper.Cancel(rule, order)
Para criar uma ação, cancelando a ordem.
- rule
- Regra.
- order
- A ordem a ser cancelada.
Retorna: Regra.
public static Func<Strategy, decimal> Compile(IFitnessFormulaProvider provider, string formula)
result = StrategyHelper.Compile(provider, formula)
Compile a fitness formula string into an evaluation function.
- provider
- IFitnessFormulaProvider
- formula
- The formula string (e.g., "PnL", "PnL * SharpeRatio").
Retorna: A function that evaluates a strategy and returns a fitness value.
public static ValueTask<ValueTuple<bool, Exception>> ExecAsync(Strategy strategy, Func<CancellationToken, ValueTask> extra, CancellationToken cancellationToken)
result = StrategyHelper.ExecAsync(strategy, extra, cancellationToken)
Executar estratégia.
- strategy
- Estratégia.
- extra
- Acção extra.
- cancellationToken
- CancellationToken.
Retorna: ValueTask.
public static IMarketRule Register(IMarketRule rule, Order order)
result = StrategyHelper.Register(rule, order)
Para criar uma ação, registre a ordem.
- rule
- Regra.
- order
- A ordem a ser registada.
Retorna: Regra.
public static IMarketRule ReRegister(IMarketRule rule, Order oldOrder, Order newOrder)
result = StrategyHelper.ReRegister(rule, oldOrder, newOrder)
Para criar uma ação, re-registrando a ordem.
- rule
- Regra.
- oldOrder
- A ordem a ser re-registada.
- newOrder
- Informação sobre nova ordem.
Retorna: Regra.
public static decimal ReversalVolume(Strategy strategy)
result = StrategyHelper.ReversalVolume(strategy)
The volume that leaves the strategy holding Volume on the other side of zero.
- strategy
- The strategy that is reversing.
Retorna: Volume to trade, never more than twice Volume.
public static ValueTask<bool> StopIfNoMarketDataAsync(Strategy strategy, CancellationToken cancellationToken)
result = StrategyHelper.StopIfNoMarketDataAsync(strategy, cancellationToken)
Stop a started strategy that has no market data to run on, with an error that says so: it asked for none, or all it asked for was refused. A run over history replays only the market data subscribed and would wait forever for such a strategy. Called once the strategy has started, when it has asked for its data.
- strategy
- Strategy.
- cancellationToken
- CancellationToken.
Retorna: if the strategy was stopped.
public static MarketRule<IStrategy, Exception> WhenError(IStrategy strategy, bool processChildStrategyErrors)
result = StrategyHelper.WhenError(strategy, processChildStrategyErrors)
To create a rule for event of strategy error (transition of state ErrorState into Error).
- strategy
- The strategy, based on which error will be expected.
- processChildStrategyErrors
- Process the child strategies errors.
Retorna: Rule.
public static MarketRule<IStrategy, MyTrade> WhenNewMyTrade(IStrategy strategy)
result = StrategyHelper.WhenNewMyTrade(strategy)
To create a rule for the event of occurrence new strategy trade.
- strategy
- The strategy, based on which trade occurrence will be traced.
Retorna: Rule.
public static MarketRule<IStrategy, Order> WhenOrderRegistered(IStrategy strategy)
result = StrategyHelper.WhenOrderRegistered(strategy)
To create a rule for event of occurrence of new strategy order.
- strategy
- The strategy, based on which order occurrence will be traced.
Retorna: Rule.
public static MarketRule<IStrategy, decimal> WhenPnLChanged(IStrategy strategy)
result = StrategyHelper.WhenPnLChanged(strategy)
To create a rule for event of profit change.
- strategy
- The strategy, based on which the profit change will be traced.
Retorna: Rule.
public static MarketRule<IStrategy, decimal> WhenPnLLess(IStrategy strategy, Unit value)
result = StrategyHelper.WhenPnLLess(strategy, value)
To create a rule for event of profit reduction below the specified level.
- strategy
- The strategy, based on which the profit change will be traced.
- value
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
Retorna: Rule.
public static MarketRule<IStrategy, decimal> WhenPnLMore(IStrategy strategy, Unit value)
result = StrategyHelper.WhenPnLMore(strategy, value)
To create a rule for event of profit increase above the specified level.
- strategy
- The strategy, based on which the profit change will be traced.
- value
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
Retorna: Rule.
public static MarketRule<IStrategy, decimal> WhenPositionChanged(IStrategy strategy)
result = StrategyHelper.WhenPositionChanged(strategy)
To create a rule for the event of strategy position change.
- strategy
- The strategy, based on which position change will be traced.
Retorna: Rule.
public static MarketRule<IStrategy, decimal> WhenPositionLess(IStrategy strategy, Unit value)
result = StrategyHelper.WhenPositionLess(strategy, value)
To create a rule for event of position event reduction below the specified level.
- strategy
- The strategy, based on which position change will be traced.
- value
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
Retorna: Rule.
public static MarketRule<IStrategy, decimal> WhenPositionMore(IStrategy strategy, Unit value)
result = StrategyHelper.WhenPositionMore(strategy, value)
To create a rule for event of position event increase above the specified level.
- strategy
- The strategy, based on which position change will be traced.
- value
- The level. If the Type type equals to Absolute, specified price is set. Otherwise, shift value is specified.
Retorna: Rule.
public static MarketRule<IStrategy, IStrategy> WhenStarted(IStrategy strategy)
result = StrategyHelper.WhenStarted(strategy)
To create a rule for event of start of strategy operation.
- strategy
- The strategy, based on which the start of strategy operation will be expected.
Retorna: Rule.
public static MarketRule<IStrategy, IStrategy> WhenStopped(IStrategy strategy)
result = StrategyHelper.WhenStopped(strategy)
To create a rule for event full stop of strategy operation.
- strategy
- The strategy, based on which the full stop will be expected.
Retorna: Rule.
public static MarketRule<IStrategy, IStrategy> WhenStopping(IStrategy strategy)
result = StrategyHelper.WhenStopping(strategy)
To create a rule for event of beginning of the strategy operation stop.
- strategy
- The strategy, based on which the beginning of stop will be determined.
Retorna: Rule.
public static MarketRule<IStrategy, IStrategy> WhenWarning(IStrategy strategy)
result = StrategyHelper.WhenWarning(strategy)
To create a rule for event of strategy warning (transition of state ErrorState into Warning).
- strategy
- The strategy, based on which the warning will be expected.
Retorna: Rule.