Strategy
A classe base para todas as estratégias de comércio.
Herda de: BaseLogReceiver
Implementa: IStrategyHost, IPositionProvider, INotifyPropertyChangedEx, INotifyPropertyChanged, ITimeProvider, IStrategy, IMarketRuleContainer, ILogReceiver, ILogSource, IDisposable, IMarketDataProvider, ISubscriptionProvider, ISecurityProvider, ISecurityMessageProvider, ITransactionProvider, IPortfolioProvider, IReportSource, ICustomTypeDescriptor, IScheduledTask
Construtores
public Strategy(IPnLManager pnlManager, IStatisticManager stats)
strategy = Strategy(pnlManager, stats)
Initializes a new instance Strategy.
- pnlManager
- PnL manager.
- stats
- Statistic manager.
Propriedades
public TimeSpan AggregationInterval { get; set; }
value = strategy.AggregationInterval
strategy.AggregationInterval = value
Intervalo de tempo para agregação. As ordens/compras dentro do mesmo intervalo são agrupadas. O padrão é de 1 hora. Defina como Zero para desativar o agrupamento baseado no tempo.
public bool CancelOrdersWhenStopping { get; set; }
value = strategy.CancelOrdersWhenStopping
strategy.CancelOrdersWhenStopping = value
Para cancelar as ordens activas na paragem. Está Ligado por omissão.
public INotifyList<Strategy> ChildStrategies { get; }
value = strategy.ChildStrategies
Estratégias comerciais subsidiárias.
public StrategyCommentModes CommentMode { get; set; }
value = strategy.CommentMode
strategy.CommentMode = value
Definir o Comentário pelo Nome ou ID.
public virtual IConnector Connector { get; set; }
value = strategy.Connector
strategy.Connector = value
Ligação ao sistema de negociação.
public override DateTime CurrentTime { get; }
value = strategy.CurrentTime
Hora atual do UTC.
public bool DisposeOnStop { get; set; }
value = strategy.DisposeOnStop
strategy.DisposeOnStop = value
Automaticamente para limpar os recursos, usados pela estratégia, quando ela pára (state ProcessState torna-se igual a Parado).
public StrategyEngine Engine { get; }
value = strategy.Engine
State machine + message routing.
public SettingsStorage Environment { get; }
value = strategy.Environment
Parâmetros de ambiente de estratégia.
public LogLevels ErrorState { get; set; }
value = strategy.ErrorState
strategy.ErrorState = value
O estado de um erro.
public static bool HideSecurityAndPortfolioParameters { get; set; }
value = Strategy.HideSecurityAndPortfolioParameters
Strategy.HideSecurityAndPortfolioParameters = value
Tornar o instrumento financeiro e a carteira como não-browsable.
protected virtual TimeSpan? HistoryCalculated { get; }
value = strategy.HistoryCalculated
Calculado a partir da versão de código de HistorySize.
protected virtual TimeSpan? HistoryCalculatedForSubscribe { get; }
value = strategy.HistoryCalculatedForSubscribe
Code-calculated warm-up history span, if any.
public TimeSpan? HistorySize { get; set; }
value = strategy.HistorySize
strategy.HistorySize = value
História para inicializar a estratégia sobre o comércio ao vivo.
protected virtual TimeSpan? HistorySizeForSubscribe { get; }
value = strategy.HistorySizeForSubscribe
Configured live-trading warm-up history span, if any.
public INotifyList<IIndicator> Indicators { get; }
value = strategy.Indicators
Todos os indicadores usados na estratégia. Usos na implementação padrão de IsFormed.
public Level1Fields? IndicatorSource { get; set; }
value = strategy.IndicatorSource
strategy.IndicatorSource = value
Fonte padrão para indicadores quando o Source não está definido.
public bool IsBacktesting { get; }
value = strategy.IsBacktesting
Determina Connector é HistoryEmulationConnector.
protected virtual bool IsBacktestingForSubscribe { get; }
value = strategy.IsBacktestingForSubscribe
Whether the strategy currently runs in backtesting (history emulation) mode.
public virtual bool IsFormed { get; }
value = strategy.IsFormed
Estratégia totalmente formada.
public bool IsOnline { get; private set; }
value = strategy.IsOnline
strategy.IsOnline = value
Verdadeiro significa que a estratégia é iniciada e todas as suas assinaturas estão em estado online.
public bool IsRulesSuspended { get; }
value = strategy.IsRulesSuspended
Está suspensa a execução das regras.
public bool KeepStatistics { get; set; }
value = strategy.KeepStatistics
strategy.KeepStatistics = value
Manter estatísticas de negociação (ordens, transações, lucro etc.) após o reinício.
public Exception LastError { get; private set; }
value = strategy.LastError
strategy.LastError = value
O último erro que fez com que a estratégia parasse.
public TimeSpan? Latency { get; set; }
value = strategy.Latency
strategy.Latency = value
Latência total.
public override LogLevels LogLevel { get; set; }
value = strategy.LogLevel
strategy.LogLevel = value
O nível para executar esta regra de registro.
public int MaxOrdersBeforeAggregation { get; set; }
value = strategy.MaxOrdersBeforeAggregation
strategy.MaxOrdersBeforeAggregation = value
O número máximo de pedidos antes da agregação automática é acionado. O padrão é 10000. Defina como 0 para desativar a agregação automática.
public int MaxTradesBeforeAggregation { get; set; }
value = strategy.MaxTradesBeforeAggregation
strategy.MaxTradesBeforeAggregation = value
O número máximo de transações antes da agregação automática é acionado. O padrão é 10000. Defina como 0 para desativar a agregação automática.
public IEnumerable<MyTrade> MyTrades { get; }
value = strategy.MyTrades
Negociações, combinadas durante a operação de estratégia.
public override string Name { get; set; }
value = strategy.Name
strategy.Name = value
Nome de estratégia.
public StrategyNameGenerator NameGenerator { get; }
value = strategy.NameGenerator
O gerador do nome da estratégia.
public virtual IEnumerable<IOrderBookSource> OrderBookSources { get; }
value = strategy.OrderBookSources
Todas as possíveis IOrderBookMessage fontes que podem ser recebidas via OrderBookDrawing.
public Subscription OrderLookup { get; }
value = strategy.OrderLookup
Obter assinatura global em busca de Ordem. Pode ser .
public OrderPipeline OrderProcessor { get; }
value = strategy.OrderProcessor
Order tracking and processing pipeline.
public IEnumerable<Order> Orders { get; }
value = strategy.Orders
Ordens, registadas no quadro estratégico.
public TimeSpan OrdersKeepTime { get; set; }
value = strategy.OrdersKeepTime
strategy.OrdersKeepTime = value
O tempo para armazenar Ordens na memória. Por padrão, é igual a 2 dias. Se o valor for definido em Zero, as ordens não serão apagadas.
public StrategyParameterDictionary Parameters { get; }
value = strategy.Parameters
Parâmetros de estratégia.
public decimal PnL { get; }
value = strategy.PnL
O valor agregado das perdas de lucro sem a Comissão de Contabilidade.
public IPnLManager PnLManager { get; set; }
value = strategy.PnLManager
strategy.PnLManager = value
O gerente de perdas de lucro.
public Portfolio Portfolio { get; set; }
value = strategy.Portfolio
strategy.Portfolio = value
Portfólio.
public Subscription PortfolioLookup { get; }
value = strategy.PortfolioLookup
Obtenha a subscrição global no portfólio de pesquisa. Pode ser .
public IPortfolioProvider PortfolioProvider { get; set; }
value = strategy.PortfolioProvider
strategy.PortfolioProvider = value
IPortfolioProvider
public decimal Position { get; set; }
value = strategy.Position
strategy.Position = value
O valor agregado da posição.
public PositionPipeline Positions { get; }
value = strategy.Positions
A lista de posições.
public IReadOnlyDictionary<ValueTuple<SecurityId, string>, decimal> PositionsList { get; }
value = strategy.PositionsList
All tracked positions.
public ProcessStates ProcessState { get; }
value = strategy.ProcessState
O estado da operação.
public IRandomProvider RandomProvider { get; set; }
value = strategy.RandomProvider
strategy.RandomProvider = value
Where anything in the strategy that draws at random takes its draws from.
public ReportSource ReportSource { get; }
value = strategy.ReportSource
Reportar a fonte de dados com suporte de agregação.
public decimal RiskFreeRate { get; set; }
value = strategy.RiskFreeRate
strategy.RiskFreeRate = value
Taxa anual sem risco (e.g., 0.03 = 3%).
public IRiskManager RiskManager { get; set; }
value = strategy.RiskManager
strategy.RiskManager = value
O gerente de controle de riscos.
public IEnumerable<IRiskRule> RiskRules { get; set; }
value = strategy.RiskRules
strategy.RiskRules = value
As regras de risco.
public IMarketRuleList Rules { get; }
value = strategy.Rules
A lista das regras de cálculo da comissão.
public Security Security { get; set; }
value = strategy.Security
strategy.Security = value
Instrumento financeiro.
public DateTime StartedTime { get; private set; }
value = strategy.StartedTime
strategy.StartedTime = value
Hora de começar a estratégia.
public IStatisticManager StatisticManager { get; protected set; }
value = strategy.StatisticManager
strategy.StatisticManager = value
O gerente de estatísticas.
public SubscriptionRegistry Subscriptions { get; }
value = strategy.Subscriptions
Subscription management.
public Func<Sides, decimal, IPositionModifyAlgo> TargetAlgoFactory { get; set; }
value = strategy.TargetAlgoFactory
strategy.TargetAlgoFactory = value
Fábrica para criar algoritmos de modificação de posição para TargetPositionManager. O padrão cria MarketOrderAlgo.
public PositionTargetManager TargetPositionManager { get; }
value = strategy.TargetPositionManager
Gestor de posição do alvo.
public TimeSpan TotalWorkingTime { get; private set; }
value = strategy.TotalWorkingTime
strategy.TotalWorkingTime = value
O tempo total de operação da estratégia menos períodos de tempo, quando a estratégia foi interrompida.
public StrategyTradingModes TradingMode { get; set; }
value = strategy.TradingMode
strategy.TradingMode = value
Permitir a troca.
public TimeSpan UnrealizedPnLInterval { get; set; }
value = strategy.UnrealizedPnLInterval
strategy.UnrealizedPnLInterval = value
O intervalo para o recalculamento de lucros não realizados. O valor por omissão é de 1 minuto.
public bool UnsubscribeOnStop { get; set; }
value = strategy.UnsubscribeOnStop
strategy.UnsubscribeOnStop = value
Desscrever toda a subscrição activa enquanto a estratégia se torna parada.
public virtual decimal Volume { get; set; }
value = strategy.Volume
strategy.Volume = value
Volume operacional.
public bool WaitAllTrades { get; set; }
value = strategy.WaitAllTrades
strategy.WaitAllTrades = value
Pare estratégia apenas depois de obter todas as transações por ordens registradas.
public bool WaitRulesOnStop { get; set; }
value = strategy.WaitRulesOnStop
strategy.WaitRulesOnStop = value
Regras de espera para terminar antes que a estratégia se torne em estado parado.
public WorkingTime WorkingTime { get; set; }
value = strategy.WorkingTime
strategy.WorkingTime = value
O limite temporal, no qual as velas para dar séries serão traduzidas.
Métodos
protected void Alert(AlertNotifications type, string caption, string message)
strategy.Alert(type, caption, message)
Envie uma notificação de alerta.
- type
- Tipo de alerta.
- caption
- Cabeçalho de sinal.
- message
- Mensagem de alerta.
protected void Alert(AlertNotifications type, string message)
strategy.Alert(type, message)
Enviar notificação de alerta com o nome da estratégia como legenda.
- type
- Tipo de alerta.
- message
- Mensagem de alerta.
protected void AlertLog(string message)
strategy.AlertLog(message)
Enviar notificação de alerta de registo.
- message
- Mensagem de alerta.
protected void AlertPopup(string message)
strategy.AlertPopup(message)
Enviar notificação de alerta de emergência.
- message
- Mensagem de alerta.
protected void AlertSound(string message)
strategy.AlertSound(message)
Enviar notificação de alerta de som.
- message
- Mensagem de alerta.
public void ApplyCommand(CommandMessage cmdMsg)
strategy.ApplyCommand(cmdMsg)
Aplicar o comando de entrada.
- cmdMsg
- A mensagem contém informações sobre o comando para alterar o estado.
public virtual ValueTask ApplyCommandAsync(CommandMessage cmdMsg, CancellationToken cancellationToken)
result = strategy.ApplyCommandAsync(cmdMsg, cancellationToken)
Apply an incoming remote command to the strategy.
- cmdMsg
- CommandMessage.
- cancellationToken
- CancellationToken
Retorna: ValueTask
public Order BuyLimit(decimal price, decimal? volume, Security security)
result = strategy.BuyLimit(price, volume, security)
Para criar o objeto de ordem inicializado para comprar.
- price
- Price.
- volume
- O volume. Se o valor for passado, então o valor do volume é usado.
- security
- O instrumento financeiro. Se o valor for passado, então o valor do instrumento financeiro é usado.
Retorna: O objeto de ordem inicializado.
public Order BuyMarket(decimal? volume, Security security)
result = strategy.BuyMarket(volume, security)
Criar objeto inicializado de compra ordem a preço de mercado.
- volume
- O volume. Se o valor for passado, então o valor do volume é usado.
- security
- O instrumento financeiro. Se o valor for passado, então o valor do instrumento financeiro é usado.
Retorna: O objeto de ordem inicializado.
protected virtual bool CanAttach(Order order)
result = strategy.CanAttach(order)
Determina que a ordem especificada pode ser de propriedade da estratégia.
- order
- Ordem.
Retorna: Verificar o resultado.
public void CancelActiveOrders(bool? isStopOrder, Portfolio portfolio, Sides? direction, ExchangeBoard board, Security security, SecurityTypes? securityType, long? transactionId)
strategy.CancelActiveOrders(isStopOrder, portfolio, direction, board, security, securityType, transactionId)
Para cancelar todas as ordens activas (para parar e regular).
- isStopOrder
- , se cancelar apenas uma ordem de paragem, - se ordens regulares, - ambos.
- portfolio
- Portfólio. Se o valor for igual a , então o portfólio não corresponde ao filtro de cancelamento de pedidos.
- direction
- Se o valor for , a direção não é usada.
- board
- Placa de negociação. Se o valor é igual a , então o tabuleiro não corresponde ao filtro de cancelamento de ordens.
- security
- Instrumento. Se o valor for igual a , então o instrumento não corresponde ao filtro de cancelamento de ordens.
- securityType
- Tipo de instrumento financeiro. Se o valor for , o tipo não utiliza.
- transactionId
- Id de transação de cancelamento de pedidos.
private void CancelAllActiveOrders()
strategy.CancelAllActiveOrders()
Cancel all active orders unconditionally (used internally on stop and risk actions, where the public Int64}) would be skipped because the strategy is no longer in the Started state).
private void CancelOrderHandler(Order order)
strategy.CancelOrderHandler(order)
Dispatch a cancel without the public guards (stop-time teardown); the caller handles the IsCanceled dedup.
public void CancelTargetPosition()
strategy.CancelTargetPosition()
Cancelar a posição-alvo para o instrumento financeiro da estratégia e Portfólio.
public void CancelTargetPosition(Security security, Portfolio portfolio)
strategy.CancelTargetPosition(security, portfolio)
Cancelar a posição-alvo para o instrumento financeiro e carteira específicos.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
private bool CanFinalStop()
result = strategy.CanFinalStop()
Final-stop gate: deny the Stopping -> Stopped transition only while WaitRulesOnStop is set and there are outstanding rules to drain.
protected virtual bool CanTrade(Security security, Portfolio portfolio, Sides side, decimal volume, string noTradeReason)
result = strategy.CanTrade(security, portfolio, side, volume, noTradeReason)
Verifique se pode trocar com informações de ordem.
- security
- Instrumento financeiro para o comércio.
- portfolio
- Portfólio para o comércio.
- side
- Ordem.
- volume
- Volume de encomenda.
- noTradeReason
- Razão pela qual a negociação não é permitida.
Retorna: É verdade se for permitida a negociação.
public Strategy Clone()
result = strategy.Clone()
Cria uma cópia profunda de DataSeries
Retorna: Copy.
public virtual ValueTask<Strategy> CloneAsync(CancellationToken cancellationToken)
result = strategy.CloneAsync(cancellationToken)
Create a copy of the strategy.
- cancellationToken
- CancellationToken
Retorna: Copy.
public Order ClosePosition(Security security, Portfolio portfolio)
result = strategy.ClosePosition(security, portfolio)
Fechar a posição aberta por mercado (para registrar a ordem do tipo Mercado).
- security
- instrumento financeiro. Se não for passado o valor do instrumento financeiro será obtido.
- portfolio
- Portfólio. Se não passar o valor da Portfólio será obtido.
Retorna: O objeto de ordem inicializado.
protected virtual ValueTask CopyToAsync(Strategy copy, CancellationToken cancellationToken)
result = strategy.CopyToAsync(copy, cancellationToken)
Copy settings into .
- copy
- Strategy
- cancellationToken
- CancellationToken
Retorna: ValueTask
protected IChartArea CreateChartArea()
result = strategy.CreateChartArea()
Criar área de gráfico.
Retorna: IChartArea
protected virtual Strategy CreateClone()
result = strategy.CreateClone()
Criar objeto clone (não iniciado).
Retorna: Estratégia
public Order CreateOrder(Sides side, decimal price, decimal? volume, Security security)
result = strategy.CreateOrder(side, price, volume, security)
Create an initialized order object.
- side
- Order side.
- price
- Price. 0 for market order.
- volume
- Volume. If null, Volume is used.
- security
- Security. If null, Security is used.
Retorna: Order.
protected ITimerHandler CreateTimer(TimeSpan interval, Action callback)
result = strategy.CreateTimer(interval, callback)
Criar um timer que execute a chamada de volta em intervalos especificados.
- interval
- Intervalo de tempo.
- callback
- Chamada para execução.
Retorna: ITimerHandler
protected override void DisposeManaged()
strategy.DisposeManaged()
Libertar recursos.
protected IChartCandleElement DrawCandles(IChartArea area, Subscription subscription)
result = strategy.DrawCandles(area, subscription)
Desenhar velas no gráfico.
- area
- IChartArea
- subscription
- Assinatura
Retorna: IChartCandleElement
protected IChartCandleElement DrawCandles<T>(IChartArea area, ISubscriptionHandler<T> subscription)
result = strategy.DrawCandles(area, subscription)
Desenhar velas no gráfico.
- area
- IChartArea
- subscription
- SubscriptionHandler
Retorna: IChartCandleElement
protected IChartIndicatorElement DrawIndicator(IChartArea area, IIndicator indicator, Color? color, Color? additionalColor)
result = strategy.DrawIndicator(area, indicator, color, additionalColor)
Desenhar indicador no gráfico.
- area
- IChartArea
- indicator
- Indicador
- color
- Cor
- additionalColor
- AdditionalColor
Retorna: IChartIndicatorElement
public void DrawOrderBook(Subscription subscription, IOrderBookSource source, IOrderBookMessage book)
strategy.DrawOrderBook(subscription, source, book)
Desenhar IOrderBookMessage.
- subscription
- Assinatura
- source
- IOrderBookSource
- book
- IOrderBookMessage
public void DrawOrderBookOrder(Subscription subscription, IOrderBookSource source, Order order)
strategy.DrawOrderBookOrder(subscription, source, order)
Desenhar a ordem do livro de ordens.
- subscription
- Assinatura
- source
- IOrderBookSource
- order
- Ordem.
public void DrawOrderBookOrderFail(Subscription subscription, IOrderBookSource source, OrderFail fail)
strategy.DrawOrderBookOrderFail(subscription, source, fail)
Falha no desenho da ordem do livro de ordens.
- subscription
- Assinatura
- source
- IOrderBookSource
- fail
- Falha na ordem.
protected IChartOrderElement DrawOrders(IChartArea area)
result = strategy.DrawOrders(area)
Desenhe ordens no gráfico.
- area
- IChartArea
Retorna: IChartOrderElement
protected IChartTradeElement DrawOwnTrades(IChartArea area)
result = strategy.DrawOwnTrades(area)
Desenhar as trocas no gráfico.
- area
- IChartArea
Retorna: IChartTradeElement
public void EditOrder(Order order, Order changes)
strategy.EditOrder(order, changes)
Edite a ordem.
- order
- Ordem.
- changes
- Mudança de ordem.
private void EnsureTxEventsHooked()
strategy.EnsureTxEventsHooked()
Ensure the internal pipeline hooks that feed the transaction-provider NewOrder/OrderChanged streams are installed exactly once. Wired lazily on first subscription so the cost is avoided for consumers that never listen to the obsolete order events.
public IAlertNotificationService GetAlertService()
result = strategy.GetAlertService()
Para obter o IAlertNotificationService associado à estratégia passada.
Retorna: Serviço de notificação de alerta.
public IChart GetChart()
result = strategy.GetChart()
Para obter o IChart associado com a estratégia passada.
Retorna: Gráfico.
public IOptionDesk GetOptionDesk()
result = strategy.GetOptionDesk()
Para obter o IOptionDesk.
Retorna: IOptionDesk.
public IOptionPositionChart GetOptionPositionChart()
result = strategy.GetOptionPositionChart()
Para obter o IOptionPositionChart associado à estratégia passada.
Retorna: Gráfico.
public virtual IStrategyParam[] GetParameters()
result = strategy.GetParameters()
Arranja parâmetros.
Retorna: Parâmetros.
public Portfolio GetPortfolio()
result = strategy.GetPortfolio()
Obter Portfólio ou lançar InvalidOperationExceptionse não estiver presente.
Retorna: Portfólio
public decimal? GetPositionValue(Security sec, Portfolio pf)
result = strategy.GetPositionValue(sec, pf)
Ponham-se em posição.
Retorna: Posição.
public Security GetSecurity()
result = strategy.GetSecurity()
Obter instrumento financeiro ou lançar InvalidOperationException se não presente.
Retorna: instrumento financeiro
private TimeSpan GetSubscribeHistoryPreroll()
result = strategy.GetSubscribeHistoryPreroll()
Optional history pre-roll applied to market-data subscriptions during live trading, so the strategy is warmed up with the configured amount of history before "now". Returns Zero by default; subsystems that own a history setting (e.g. HistorySize / HistoryCalculated) and a backtesting flag override the wiring points below.
Retorna: History span to subtract from CurrentTime, or zero to disable.
public decimal? GetTargetPosition(Security security, Portfolio portfolio)
result = strategy.GetTargetPosition(security, portfolio)
Obter posição de destino para o instrumento financeiro e carteira especificados.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
Retorna: Posição do alvo, ou nulo se não estiver definido.
public decimal? GetTargetPosition()
result = strategy.GetTargetPosition()
Obter posição de alvo para o instrumento financeiro da estratégia e Portfólio.
Retorna: Posição do alvo, ou nulo se não estiver definido.
public virtual IEnumerable<Portfolio> GetWorkingPortfolios()
result = strategy.GetWorkingPortfolios()
Obtenha todos os portfólios necessários para a estratégia.
Retorna: Portfólios.
public virtual IEnumerable<ValueTuple<Security, DataType>> GetWorkingSecurities()
result = strategy.GetWorkingSecurities()
Obter todos os instrumentos financeiros necessários para a estratégia.
Retorna: Instrumentos financeiros.
public bool IsFormedAndOnline()
result = strategy.IsFormedAndOnline()
IsFormed e IsOnline.
Retorna: Verificar o resultado.
public bool IsFormedAndOnlineAndAllowTrading(StrategyTradingModes required)
result = strategy.IsFormedAndOnlineAndAllowTrading(required)
IsFormedAndOnline e TradingMode.
- required
- Acção necessária.
Retorna: Verificar o resultado.
public bool? IsOrderEditable(Order order)
result = strategy.IsOrderEditable(order)
Determina que a ordem especificada pode ser editada por Ordem).
- order
- Ordem.
Retorna: se a ordem for editável, a ordem não pode ser alterada, significa nenhuma informação.
public bool? IsOrderReplaceable(Order order)
result = strategy.IsOrderReplaceable(order)
Determina que a ordem especificada pode ser substituída por Ordem).
- order
- Ordem.
Retorna: Se a ordem for substituível, a ordem não pode ser substituída, significa que não há informação.
public override Task LoadAsync(SettingsStorage storage, CancellationToken cancellationToken)
result = strategy.LoadAsync(storage, cancellationToken)
Load settings.
- storage
- SettingsStorage
- cancellationToken
- CancellationToken
Retorna: Task
public ValueTask<Security> LookupByIdAsync(SecurityId id, CancellationToken cancellationToken)
result = strategy.LookupByIdAsync(id, cancellationToken)
Para obter o instrumento pelo identificador.
- id
- ID do instrumento financeiro.
- cancellationToken
- CancellationToken
Retorna: O instrumento obtido. Se não houver instrumento por critérios, é devolvido.
public void OnConnectorOrderReceived(Subscription sub, Order order)
strategy.OnConnectorOrderReceived(sub, order)
Handle order received from the connector. This is the pipeline callback wired to OrderReceived; the user-overridable hook is Order).
protected virtual void OnCurrentPriceUpdated(SecurityId secId, decimal price, DateTime serverTime, DateTime localTime)
strategy.OnCurrentPriceUpdated(secId, price, serverTime, localTime)
Called when current price updated from market data.
protected virtual void OnError(Exception error)
strategy.OnError(error)
Processing of error, occurred as result of strategy operation.
- error
- Error.
public ValueTask OnNewMessage(Message msg, CancellationToken ct)
result = strategy.OnNewMessage(msg, ct)
Handle new outgoing message from connector.
protected virtual void OnNewPosition(Position position)
strategy.OnNewPosition(position)
Called when new position appears.
- position
- New position.
public void OnOrderCancelFailReceived(Subscription sub, OrderFail fail)
strategy.OnOrderCancelFailReceived(sub, fail)
Handle order cancellation failure from connector.
protected virtual void OnOrderChanged(Order order)
strategy.OnOrderChanged(order)
Called when order state changed. Driven by the order-tracking pipeline on every non-registration change of a tracked order (the obsolete OrderChanged counterpart). Distinct from Order), which fires for any update of one of the strategy's own orders arriving from the connector's order-lookup subscription.
- order
- Changed order.
public void OnOrderEditFailReceived(Subscription sub, OrderFail fail)
strategy.OnOrderEditFailReceived(sub, fail)
Handle order edit failure from connector.
protected virtual void OnOrderReceived(Order order)
strategy.OnOrderReceived(order)
Ordem recebida.
- order
- Ordem
protected virtual void OnOrderRegistered(Order order)
strategy.OnOrderRegistered(order)
Chamar o evento OrderRegistered.
- order
- Ordem.
protected virtual void OnOrderRegisterFailed(OrderFail fail)
strategy.OnOrderRegisterFailed(fail)
Called when order registration fails.
- fail
- Order failure info.
public void OnOrderRegisterFailReceived(Subscription sub, OrderFail fail)
strategy.OnOrderRegisterFailReceived(sub, fail)
Handle order registration failure from connector.
protected virtual void OnOrderRegistering(Order order)
strategy.OnOrderRegistering(order)
Chamar o evento OrderRegistering.
- order
- Ordem.
protected virtual void OnOrderReRegistering(Order oldOrder, Order newOrder)
strategy.OnOrderReRegistering(oldOrder, newOrder)
Chamar o evento OrderReRegistering.
- oldOrder
- Cancelando ordem.
- newOrder
- Nova ordem para se registar.
protected virtual void OnOwnTradeReceived(MyTrade trade)
strategy.OnOwnTradeReceived(trade)
Comércio próprio recebido.
- trade
- MyTrade
protected virtual void OnPositionChanged(Position position)
strategy.OnPositionChanged(position)
Called when position changes.
- position
- Changed position.
protected virtual void OnPositionReceived(Position position)
strategy.OnPositionReceived(position)
Posição recebida.
- position
- Posição
public void OnPositionReceived(Subscription sub, Position pos)
strategy.OnPositionReceived(sub, pos)
Handle position received from connector.
protected virtual void OnStarted2(DateTime time)
strategy.OnStarted2(time)
O método é chamado quando o método Iniciar foi chamado e o estado ProcessState foi tomado o valor Iniciado.
- time
- The strategy start time.
protected virtual ValueTask OnStartedAsync(DateTime time, CancellationToken cancellationToken)
result = strategy.OnStartedAsync(time, cancellationToken)
The method is called when the strategy has entered the started state, before DateTime). An exception stops the strategy the same way as one thrown from DateTime).
- time
- The strategy start time.
- cancellationToken
- Cancellation token.
Retorna: ValueTask
protected virtual void OnStateChanged(ProcessStates state)
strategy.OnStateChanged(state)
Called when process state changes.
- state
- New state.
protected virtual ValueTask OnStateChangedAsync(ProcessStates state, CancellationToken cancellationToken)
result = strategy.OnStateChangedAsync(state, cancellationToken)
Called asynchronously when process state changes.
- state
- New state.
- cancellationToken
- Cancellation token.
Retorna: A task representing the state transition.
protected virtual void OnStopped()
strategy.OnStopped()
O método é chamado quando o estado de processo ProcessState foi tomado o valor parado.
protected virtual void OnStopping()
strategy.OnStopping()
O método é chamado quando o estado de processo ProcessState foi tomado o valor de Parar.
public void OnTradeReceived(Subscription sub, MyTrade trade)
strategy.OnTradeReceived(sub, trade)
Handle trade received from connector.
public StrategyParam<T> Param<T>(string id, T initialValue)
result = strategy.Param(id, initialValue)
Inicializa uma nova instância do StrategyParam.
- id
- Identificador do parâmetro.
- initialValue
- O valor inicial.
Retorna: O parâmetro de estratégia.
public void Prepare()
strategy.Prepare()
Prepare dados para geração de relatórios. Chame isso antes de acessar qualquer dado para garantir que todos os valores estão atualizados.
protected override void RaiseLog(LogMessage message)
strategy.RaiseLog(message)
To call the event Log.
- message
- A debug message.
public void RaiseParametersChanged(string name)
strategy.RaiseParametersChanged(name)
Chamar eventos ParametersChanged e PropertyChanged.
- name
- Nome do parâmetro.
public void RegisterOrder(Order order)
strategy.RegisterOrder(order)
Registre nova ordem.
protected void RequestStop()
strategy.RequestStop()
Ask the strategy to stop from code that cannot wait for CancellationToken), such as a handler of market data. New orders are refused from this call on; the strategy is stopped when it handles the next message of the connector.
protected void RequestStop(Exception error)
strategy.RequestStop(error)
Ask the strategy to stop because of the error, from code that cannot wait for CancellationToken). The error is reported at once.
- error
- The error that caused the stop.
public void ReRegisterOrder(Order oldOrder, Order newOrder)
strategy.ReRegisterOrder(oldOrder, newOrder)
Registre novamente a ordem.
- oldOrder
- Cancelando ordem.
- newOrder
- Nova ordem para se registar.
public void Reset()
strategy.Reset()
Para reiniciar o algoritmo de comércio. É chamado após a inicialização do objeto de estratégia e parâmetros armazenados de carregamento.
public IConnector SafeGetConnector()
result = strategy.SafeGetConnector()
Para obter a estratégia recebendo Connector. Se ela não for inicializada, a exceção será descartada.
Retorna: Connector.
public void Save(SettingsStorage storage, bool saveStatistics, bool saveSystemParameters)
strategy.Save(storage, saveStatistics, saveSystemParameters)
Gravar as definições.
- storage
- SettingsStorage
- saveStatistics
- KeepStatistics
- saveSystemParameters
- Gravar os parâmetros do sistema.
public Task SaveAsync(SettingsStorage storage, bool saveStatistics, bool saveSystemParameters, CancellationToken cancellationToken)
result = strategy.SaveAsync(storage, saveStatistics, saveSystemParameters, cancellationToken)
Save settings.
- storage
- SettingsStorage
- saveStatistics
- KeepStatistics
- saveSystemParameters
- Save system parameters.
- cancellationToken
- CancellationToken
Retorna: Task
public override Task SaveAsync(SettingsStorage storage, CancellationToken cancellationToken)
result = strategy.SaveAsync(storage, cancellationToken)
Save settings.
- storage
- SettingsStorage
- cancellationToken
- CancellationToken
Retorna: Task
public Order SellLimit(decimal price, decimal? volume, Security security)
result = strategy.SellLimit(price, volume, security)
Para criar o objeto de ordem inicializado para vender.
- price
- Price.
- volume
- O volume. Se o valor for passado, então o valor do volume é usado.
- security
- O instrumento financeiro. Se o valor for passado, então o valor do instrumento financeiro é usado.
Retorna: O objeto de ordem inicializado.
public Order SellMarket(decimal? volume, Security security)
result = strategy.SellMarket(volume, security)
Criar o objeto de ordem inicializada de venda a preço de mercado.
- volume
- O volume. Se o valor for passado, então o valor do volume é usado.
- security
- O instrumento financeiro. Se o valor for passado, então o valor do instrumento financeiro é usado.
Retorna: O objeto de ordem inicializado.
public void SetAlertService(IAlertNotificationService service)
strategy.SetAlertService(service)
Para definir um IAlertNotificationService para a estratégia.
- service
- Serviço de notificação de alerta.
public void SetChart(IChart chart)
strategy.SetChart(chart)
Para definir um IChart para a estratégia.
- chart
- Gráfico.
public void SetOptionDesk(IOptionDesk desk)
strategy.SetOptionDesk(desk)
Para definir o IOptionDesk.
- desk
- IOptionDesk.
public void SetOptionPositionChart(IOptionPositionChart chart)
strategy.SetOptionPositionChart(chart)
Para definir um IChart para a estratégia.
- chart
- Gráfico.
public void SetPositionValue(Security security, Portfolio portfolio, decimal value, DateTime time)
strategy.SetPositionValue(security, portfolio, value, time)
Definam posição.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
- value
- Posição.
- time
- Timetamp para atribuir em LocalTime e ServerTime se a posição for criada de novo.
public void SetTargetPosition(decimal target)
strategy.SetTargetPosition(target)
Definir a posição-alvo para o instrumento financeiro da estratégia e Portfólio.
- target
- Valor da posição do alvo.
public void SetTargetPosition(Security security, Portfolio portfolio, decimal target)
strategy.SetTargetPosition(security, portfolio, target)
Definir a posição-alvo para o instrumento financeiro e carteira específicos.
- security
- Instrumento financeiro.
- portfolio
- Portfólio.
- target
- Valor da posição do alvo.
public ValueTask StartAsync(CancellationToken cancellationToken)
result = strategy.StartAsync(cancellationToken)
Start the strategy.
public void StartProtection(Unit takeProfit, Unit stopLoss, bool isStopTrailing, TimeSpan? takeTimeout, TimeSpan? stopTimeout, bool useMarketOrders, bool isLocalStop)
strategy.StartProtection(takeProfit, stopLoss, isStopTrailing, takeTimeout, stopTimeout, useMarketOrders, isLocalStop)
Iniciar protecção de posição.
- takeProfit
- Tirar offset.
- stopLoss
- Parar offset.
- isStopTrailing
- Se deve usar uma técnica de rastreamento.
- takeTimeout
- Se a protecção não tiver funcionado até esta data, a posição será encerrada no mercado.
- stopTimeout
- Se a protecção não tiver funcionado até esta data, a posição será encerrada no mercado.
- useMarketOrders
- Se deve utilizar as ordens de mercado.
- isLocalStop
- Forçar o processamento local a parar, independentemente dos recursos do adaptador.
protected ITimerHandler StartTimer(TimeSpan interval, Action callback)
result = strategy.StartTimer(interval, callback)
Crie um timer que execute a chamada de volta em intervalos especificados e o inicie imediatamente.
- interval
- Intervalo de tempo.
- callback
- Chamada para execução.
Retorna: ITimerHandler
public void Stop(Exception error)
strategy.Stop(error)
Para parar o algoritmo de comércio por erro.
- error
- Erro.
public ValueTask StopAsync(CancellationToken cancellationToken)
result = strategy.StopAsync(cancellationToken)
Stop the strategy.
public ValueTask StopAsync(Exception error, CancellationToken cancellationToken)
result = strategy.StopAsync(error, cancellationToken)
Stop the strategy with error.
- error
- The error that caused the stop.
- cancellationToken
- Cancellation token.
public void Subscribe(Subscription subscription)
strategy.Subscribe(subscription)
Assina.
- subscription
- Assinatura.
protected ISubscriptionHandler<ICandleMessage> SubscribeCandles(Subscription subscription)
result = strategy.SubscribeCandles(subscription)
Assinar as velas.
- subscription
- Assinatura
Retorna: SubscriptionHandler
protected ISubscriptionHandler<ICandleMessage> SubscribeCandles(DataType dt, bool isFinishedOnly, Security security)
result = strategy.SubscribeCandles(dt, isFinishedOnly, security)
Assinar as velas.
- dt
- DataType
- isFinishedOnly
- IsFinishedOnly
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected ISubscriptionHandler<ICandleMessage> SubscribeCandles(TimeSpan tf, bool isFinishedOnly, Security security)
result = strategy.SubscribeCandles(tf, isFinishedOnly, security)
Assinar as velas.
- tf
- Tempo-limite.
- isFinishedOnly
- IsFinishedOnly
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected ISubscriptionHandler<Level1ChangeMessage> SubscribeLevel1(Subscription subscription)
result = strategy.SubscribeLevel1(subscription)
Subscreva o Nível 1.
- subscription
- Assinatura
Retorna: SubscriptionHandler
protected ISubscriptionHandler<Level1ChangeMessage> SubscribeLevel1(Security security)
result = strategy.SubscribeLevel1(security)
Subscreva o Nível 1.
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected ISubscriptionHandler<IOrderBookMessage> SubscribeOrderBook(Security security)
result = strategy.SubscribeOrderBook(security)
Subscrever MarketDepth.
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected ISubscriptionHandler<IOrderBookMessage> SubscribeOrderBook(Subscription subscription)
result = strategy.SubscribeOrderBook(subscription)
Subscrever MarketDepth.
- subscription
- Assinatura
Retorna: SubscriptionHandler
protected ISubscriptionHandler<ITickTradeMessage> SubscribeTicks(Subscription subscription)
result = strategy.SubscribeTicks(subscription)
Assinar o Ticks.
- subscription
- Assinatura
Retorna: SubscriptionHandler
protected ISubscriptionHandler<ITickTradeMessage> SubscribeTicks(Security security)
result = strategy.SubscribeTicks(security)
Assinar o Ticks.
- security
- Instrumentos financeiros. Se não for aprovado, então é utilizado o valor do instrumento financeiro.
Retorna: SubscriptionHandler
protected virtual object ToReportValue(object value)
result = strategy.ToReportValue(value)
Para converter valor do parâmetro para o valor do relatório.
- value
- O valor do parâmetro.
Retorna: O valor do relatório.
private Subscription ToSubscription<TLookupMessage>()
result = strategy.ToSubscription()
Build a global lookup subscription stamped with this strategy's identifier.
Retorna: Subscription.
public bool TryAddMyTrade(MyTrade trade)
result = strategy.TryAddMyTrade(trade)
Tente adicionar o próprio comércio.
- trade
- MyTrade
Retorna: Resultado da operação.
public void UnSubscribe(Subscription subscription)
strategy.UnSubscribe(subscription)
Cancelar a inscrição.
- subscription
- Assinatura.
Eventos
public event Action<Subscription, ExchangeBoard> BoardReceived
strategy.BoardReceived += handler
ExchangeBoard recebido.
public event Action<Subscription, ICandleMessage> CandleReceived
strategy.CandleReceived += handler
ICandleMessage recebido.
public event Action CommissionChanged
strategy.CommissionChanged += handler
A Comissão tem vindo a alterar o seu comportamento.
public event Action ConnectorChanged
strategy.ConnectorChanged += handler
O evento de mudança de conexão de estratégia.
public event Action<Subscription, DataType> DataTypeReceived
strategy.DataTypeReceived += handler
DataType recebido.
public event Action<IStrategy, Exception> Error
strategy.Error += handler
O evento de ocorrência de erro na estratégia.
public event Action<Strategy> IsOnlineChanged
strategy.IsOnlineChanged += handler
O evento de mudança de estado de estratégia online.
public event Action LatencyChanged
strategy.LatencyChanged += handler
O evento de mudança de latência.
public event Action<Subscription, Level1ChangeMessage> Level1Received
strategy.Level1Received += handler
Level1ChangeMessage recebido.
public event Action<MyTrade> NewMyTrade
strategy.NewMyTrade += handler
Comércio próprio recebido.
public event Action<Subscription, News> NewsReceived
strategy.NewsReceived += handler
Notícias recebidas.
public event Action<Subscription, IOrderBookSource, IOrderBookMessage> OrderBookDrawing
strategy.OrderBookDrawing += handler
IOrderBookMessage).
public event Action<Subscription, IOrderBookSource, Order> OrderBookDrawingOrder
strategy.OrderBookDrawingOrder += handler
Ordem).
public event Action<Subscription, IOrderBookSource, OrderFail> OrderBookDrawingOrderFail
strategy.OrderBookDrawingOrderFail += handler
OrderFail).
public event Action<Subscription, IOrderBookMessage> OrderBookReceived
strategy.OrderBookReceived += handler
IOrderBookMessage recebido.
public event Action<OrderFail> OrderCancelFailed
strategy.OrderCancelFailed += handler
Evento de erro de cancelamento de pedido.
public event Action<Subscription, OrderFail> OrderCancelFailReceived
strategy.OrderCancelFailReceived += handler
OrderFail cancelamento evento.
public event Action<Order> OrderCanceling
strategy.OrderCanceling += handler
O evento de envio de ordem para cancelamento.
public event Action<Order> OrderChanged
strategy.OrderChanged += handler
Ordem alterada (cancelada, combinada).
public event Action<long, Order> OrderEdited
strategy.OrderEdited += handler
Ordem) resultado de evento.
public event Action<long, OrderFail> OrderEditFailed
strategy.OrderEditFailed += handler
Ordem) erro resultado evento.
public event Action<Subscription, OrderFail> OrderEditFailReceived
strategy.OrderEditFailReceived += handler
OrderFail edition event.
public event Action<Subscription, IOrderLogMessage> OrderLogReceived
strategy.OrderLogReceived += handler
IOrderLogMessage recebido.
public event Action<Subscription, Order> OrderReceived
strategy.OrderReceived += handler
Ordem recebida.
public event Action<Order> OrderRegistered
strategy.OrderRegistered += handler
O evento de inscrição bem-sucedida da ordem.
public event Action<OrderFail> OrderRegisterFailed
strategy.OrderRegisterFailed += handler
Evento de erro de registro de encomenda.
public event Action<Subscription, OrderFail> OrderRegisterFailReceived
strategy.OrderRegisterFailReceived += handler
OrderFail inscription event.
public event Action<Order> OrderRegistering
strategy.OrderRegistering += handler
O evento de envio de ordem para registro.
public event Action<Order, Order> OrderReRegistering
strategy.OrderReRegistering += handler
O evento de envio de ordem para re-registo.
public event Action<Subscription, MyTrade> OwnTradeReceived
strategy.OwnTradeReceived += handler
MyTrade recebido.
public event Action ParametersChanged
strategy.ParametersChanged += handler
Os parâmetros mudam o evento.
public event Action<Subscription> PnLReceived
strategy.PnLReceived += handler
PnL change event.
public event Action<Subscription, Portfolio, DateTime, decimal, decimal?, decimal?> PnLReceived2
strategy.PnLReceived2 += handler
PnL change event.
public event Action<Subscription, Portfolio> PortfolioReceived
strategy.PortfolioReceived += handler
Portfólio recebido.
public event Action PositionChanged
strategy.PositionChanged += handler
Mudança de posição.
public event Action<Subscription, Position> PositionReceived
strategy.PositionReceived += handler
Posição recebida.
public event Action<IStrategy> ProcessStateChanged
strategy.ProcessStateChanged += handler
ProcessState change event.
public event PropertyChangedEventHandler PropertyChanged
strategy.PropertyChanged += handler
O elemento diagrama propriedades valor mudança evento.
public event Action Reseted
strategy.Reseted += handler
O evento da reinicialização da estratégia.
public event Action<Subscription, Security> SecurityReceived
strategy.SecurityReceived += handler
Instrumento financeiro recebido.
public event Action SlippageChanged
strategy.SlippageChanged += handler
Evento de mudança de página.
public event Action<Subscription, Exception, bool> SubscriptionFailed
strategy.SubscriptionFailed += handler
A assinatura falhou.
public event Action<Subscription> SubscriptionOnline
strategy.SubscriptionOnline += handler
A assinatura está online.
public event Action<Subscription, object> SubscriptionReceived
strategy.SubscriptionReceived += handler
Valor recebido.
public event Action<Subscription> SubscriptionStarted
strategy.SubscriptionStarted += handler
A assinatura está iniciada.
public event Action<Subscription, Exception> SubscriptionStopped
strategy.SubscriptionStopped += handler
A assinatura está interrompida.
public event Action<Subscription, ITickTradeMessage> TickTradeReceived
strategy.TickTradeReceived += handler
ITickTradeMessage recebido.