DecomposedStrategy

StockSharp.Algo.Strategies.Decomposed

A classe base para todas as estratégias de comércio.

Herda de: BaseLogReceiver

Implementa: IStrategyHost, IPositionProvider, INotifyPropertyChangedEx, INotifyPropertyChanged, ITimeProvider

Construtores

DecomposedStrategy
public DecomposedStrategy()
decomposedStrategy = DecomposedStrategy()

Inicializa uma nova instância DecomposedStrategy.

DecomposedStrategy
public DecomposedStrategy(IPnLManager pnlManager, IStatisticManager stats)
decomposedStrategy = DecomposedStrategy(pnlManager, stats)

Inicializa uma nova instância DecomposedStrategy.

pnlManager
PnL manager.
stats
Gerente estatístico.

Propriedades

CancelOrdersWhenStopping
public bool CancelOrdersWhenStopping { get; set; }
value = decomposedStrategy.CancelOrdersWhenStopping
decomposedStrategy.CancelOrdersWhenStopping = value

Cancelar ordens activas quando a estratégia está a parar.

CommentMode
public StrategyCommentModes CommentMode { get; set; }
value = decomposedStrategy.CommentMode
decomposedStrategy.CommentMode = value

Modo de comentários.

Commission
public decimal? Commission { get; }
value = decomposedStrategy.Commission

Total da comissão acumulada (de encomendas + transações).

Connector
public IConnector Connector { get; set; }
value = decomposedStrategy.Connector
decomposedStrategy.Connector = value

Connector (via interface para testabilidade).

Engine
public StrategyEngine Engine { get; }
value = decomposedStrategy.Engine

Máquina de estado + roteamento de mensagens.

ErrorState
public LogLevels ErrorState { get; set; }
value = decomposedStrategy.ErrorState
decomposedStrategy.ErrorState = value

Estado de erro.

IsFormed
public virtual bool IsFormed { get; }
value = decomposedStrategy.IsFormed

Se a estratégia é formada.

IsOnline
public bool IsOnline { get; private set; }
value = decomposedStrategy.IsOnline
decomposedStrategy.IsOnline = value

Está online.

Latency
public TimeSpan? Latency { get; set; }
value = decomposedStrategy.Latency
decomposedStrategy.Latency = value

Latency.

Orders
public OrderPipeline Orders { get; }
value = decomposedStrategy.Orders

Ordens de acompanhamento e processamento.

OrdersKeepTime
public TimeSpan OrdersKeepTime { get; set; }
value = decomposedStrategy.OrdersKeepTime
decomposedStrategy.OrdersKeepTime = value

O tempo para guardar ordens na memória.

PnLManager
public IPnLManager PnLManager { get; }
value = decomposedStrategy.PnLManager

PnL manager.

Portfolio
public Portfolio Portfolio { get; set; }
value = decomposedStrategy.Portfolio
decomposedStrategy.Portfolio = value

Portfólio.

PortfolioLookup
public Subscription PortfolioLookup { get; }
value = decomposedStrategy.PortfolioLookup

Assinatura de procura de carteira.

Position
public decimal Position { get; set; }
value = decomposedStrategy.Position
decomposedStrategy.Position = value

Situação actual (instrumento financeiro primário).

Positions
public PositionPipeline Positions { get; }
value = decomposedStrategy.Positions

Posicionamento do evento.

PositionsList
public IReadOnlyDictionary<ValueTuple<SecurityId, string>, decimal> PositionsList { get; }
value = decomposedStrategy.PositionsList

Todas as posições.

ProcessState
public ProcessStates ProcessState { get; }
value = decomposedStrategy.ProcessState

Estado atual do processo.

RiskManager
public IRiskManager RiskManager { get; set; }
value = decomposedStrategy.RiskManager
decomposedStrategy.RiskManager = value

Gerente de risco.

Security
public Security Security { get; set; }
value = decomposedStrategy.Security
decomposedStrategy.Security = value

Instrumento financeiro.

Slippage
public decimal? Slippage { get; }
value = decomposedStrategy.Slippage

Total de deslizamento acumulado.

StartedTime
public DateTime StartedTime { get; private set; }
value = decomposedStrategy.StartedTime
decomposedStrategy.StartedTime = value

Hora de começar a estratégia.

StatisticManager
public IStatisticManager StatisticManager { get; }
value = decomposedStrategy.StatisticManager

Gerente de estatísticas.

Subscriptions
public SubscriptionRegistry Subscriptions { get; }
value = decomposedStrategy.Subscriptions

Gestão de assinaturas.

TotalWorkingTime
public TimeSpan TotalWorkingTime { get; private set; }
value = decomposedStrategy.TotalWorkingTime
decomposedStrategy.TotalWorkingTime = value

Tempo total de trabalho.

Trades
public TradePipeline Trades { get; }
value = decomposedStrategy.Trades

Processamento de comércio e PnL.

TradingMode
public StrategyTradingModes TradingMode { get; set; }
value = decomposedStrategy.TradingMode
decomposedStrategy.TradingMode = value

Modo de negociação.

UnsubscribeOnStop
public bool UnsubscribeOnStop { get; set; }
value = decomposedStrategy.UnsubscribeOnStop
decomposedStrategy.UnsubscribeOnStop = value

Describe dos dados do mercado quando a estratégia está parando.

Volume
public decimal Volume { get; set; }
value = decomposedStrategy.Volume
decomposedStrategy.Volume = value

Volume de ordem padrão.

WaitAllTrades
public bool WaitAllTrades { get; set; }
value = decomposedStrategy.WaitAllTrades
decomposedStrategy.WaitAllTrades = value

Espera por todas as negociações.

Métodos

BuyLimit
public Order BuyLimit(decimal price, decimal? volume)
result = decomposedStrategy.BuyLimit(price, volume)

Comprar ao preço limite.

BuyMarket
public Order BuyMarket(decimal? volume)
result = decomposedStrategy.BuyMarket(volume)

Comprar a preço de mercado.

CanAttach
protected virtual bool CanAttach(Order order)
result = decomposedStrategy.CanAttach(order)

Se a ordem pode ser anexada (rastreada) por esta estratégia.

order
Ordem para verificar.

Retorna: Se a ordem pertence a esta estratégia.

CancelActiveOrders
public void CancelActiveOrders()
decomposedStrategy.CancelActiveOrders()

Cancele todas as ordens activas.

CancelOrder
public void CancelOrder(Order order)
decomposedStrategy.CancelOrder(order)

Cancelar uma ordem através do connector.

CanTrade
protected virtual bool CanTrade(Security security, Portfolio portfolio, Sides side, decimal volume, string noTradeReason)
result = decomposedStrategy.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.

ClosePosition
public Order ClosePosition()
result = decomposedStrategy.ClosePosition()

Fechem a posição actual.

CreateOrder
public Order CreateOrder(Sides side, decimal price, decimal? volume)
result = decomposedStrategy.CreateOrder(side, price, volume)

Criar um objeto de ordem inicializado.

side
Ordem.
price
Preço 0 para encomendas de mercado.
volume
Volume. Se nulo, Volume é usado.

Retorna: Ordem.

EditOrder
public void EditOrder(Order order, Order changes)
decomposedStrategy.EditOrder(order, changes)

Edite uma ordem através do connector.

order
Ordem original.
changes
Mudança de ordem.
GetPositionValue
public decimal GetPositionValue(Security sec, Portfolio pf)
result = decomposedStrategy.GetPositionValue(sec, pf)

Obter valor de posição para instrumento financeiro específico e carteira.

OnCurrentPriceUpdated
protected virtual void OnCurrentPriceUpdated(SecurityId secId, decimal price, DateTime serverTime, DateTime localTime)
decomposedStrategy.OnCurrentPriceUpdated(secId, price, serverTime, localTime)

Chamado quando o preço atual atualizado a partir de dados do mercado.

OnError
protected virtual void OnError(Exception error)
decomposedStrategy.OnError(error)

O processamento de erros ocorreu como resultado da operação da estratégia.

error
Erro.
OnNewMessage
public ValueTask OnNewMessage(Message msg, CancellationToken ct)
result = decomposedStrategy.OnNewMessage(msg, ct)

Lidar com a nova mensagem de saída de connector.

OnNewMyTrade
protected virtual void OnNewMyTrade(MyTrade trade)
decomposedStrategy.OnNewMyTrade(trade)

Chamada quando o novo comércio recebeu.

trade
Novo comércio.
OnNewPosition
protected virtual void OnNewPosition(Position position)
decomposedStrategy.OnNewPosition(position)

Chamada quando nova posição aparecer.

position
Nova posição.
OnOrderCancelFailReceived
public void OnOrderCancelFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderCancelFailReceived(sub, fail)

Lidar com falha de cancelamento de ordem de connector.

OnOrderChanged
protected virtual void OnOrderChanged(Order order)
decomposedStrategy.OnOrderChanged(order)

Liguei quando o estado da ordem mudou.

order
Mudança de ordem.
OnOrderEditFailReceived
public void OnOrderEditFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderEditFailReceived(sub, fail)

Lidar com falha na edição de ordem de connector.

OnOrderReceived
public void OnOrderReceived(Subscription sub, Order order)
decomposedStrategy.OnOrderReceived(sub, order)

Lidar com a ordem recebida de connector.

OnOrderRegistered
protected virtual void OnOrderRegistered(Order order)
decomposedStrategy.OnOrderRegistered(order)

Chamada quando a ordem foi registrada (transicionada da Pendente para Active/Feito).

order
Ordem registada.
OnOrderRegisterFailed
protected virtual void OnOrderRegisterFailed(OrderFail fail)
decomposedStrategy.OnOrderRegisterFailed(fail)

Chamado quando o registo da ordem falhar.

fail
Pedido de informações de falha.
OnOrderRegisterFailReceived
public void OnOrderRegisterFailReceived(Subscription sub, OrderFail fail)
decomposedStrategy.OnOrderRegisterFailReceived(sub, fail)

Lidar com falha no registro de pedidos de connector.

OnPositionChanged
protected virtual void OnPositionChanged(Position position)
decomposedStrategy.OnPositionChanged(position)

Chamado quando a posição muda.

position
Mudança de posição.
OnPositionReceived
public void OnPositionReceived(Subscription sub, Position pos)
decomposedStrategy.OnPositionReceived(sub, pos)

Posição de manipulação recebida de connector.

OnStateChanged
protected virtual void OnStateChanged(ProcessStates state)
decomposedStrategy.OnStateChanged(state)

Chamado quando o estado do processo muda.

state
Novo estado.
OnTradeReceived
public void OnTradeReceived(Subscription sub, MyTrade trade)
decomposedStrategy.OnTradeReceived(sub, trade)

Comércio de tratamento recebido de connector.

RegisterOrder
public void RegisterOrder(Order order)
decomposedStrategy.RegisterOrder(order)

Registre uma ordem através do connector.

ReRegisterOrder
public void ReRegisterOrder(Order oldOrder, Order newOrder)
decomposedStrategy.ReRegisterOrder(oldOrder, newOrder)

Re-registro (cancelar + registrar novo) uma ordem através do connector.

oldOrder
Ordem para cancelar.
newOrder
Nova ordem para se registar.
Reset
public void Reset()
decomposedStrategy.Reset()

Reinicie todo o estado (ordens, transações, posições, PnL, assinaturas).

SellLimit
public Order SellLimit(decimal price, decimal? volume)
result = decomposedStrategy.SellLimit(price, volume)

Venda a preço limite.

SellMarket
public Order SellMarket(decimal? volume)
result = decomposedStrategy.SellMarket(volume)

Venda a preço de mercado.

Start
public void Start()
decomposedStrategy.Start()

Comecem a estratégia.

StartAsync
public ValueTask StartAsync(CancellationToken cancellationToken)
result = decomposedStrategy.StartAsync(cancellationToken)

Comecem a estratégia.

StartProtection
public void StartProtection(Unit takeProfit, Unit stopLoss, bool isStopTrailing, TimeSpan? takeTimeout, TimeSpan? stopTimeout, bool useMarketOrders, bool isLocalStop)
decomposedStrategy.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.
Stop
public void Stop()
decomposedStrategy.Stop()

Parem com a estratégia.

StopAsync
public ValueTask StopAsync(CancellationToken cancellationToken)
result = decomposedStrategy.StopAsync(cancellationToken)

Parem com a estratégia.

StopAsync
public ValueTask StopAsync(Exception error, CancellationToken cancellationToken)
result = decomposedStrategy.StopAsync(error, cancellationToken)

Pare a estratégia com erro.

error
O erro que causou a parada.
cancellationToken
Inscrição de cancelamento.

Eventos

BoardReceived
public event Action<Subscription, ExchangeBoard> BoardReceived
decomposedStrategy.BoardReceived += handler

Valor da placa recebido.

CandleReceived
public event Action<Subscription, ICandleMessage> CandleReceived
decomposedStrategy.CandleReceived += handler

Valor da vela recebida.

CommissionChanged
public event Action CommissionChanged
decomposedStrategy.CommissionChanged += handler

A Comissão alterou o seu acontecimento.

ConnectorChanged
public event Action ConnectorChanged
decomposedStrategy.ConnectorChanged += handler

Connector changed event.

DataTypeReceived
public event Action<Subscription, DataType> DataTypeReceived
decomposedStrategy.DataTypeReceived += handler

Valor do tipo de dados recebido.

Error
public event Action<Exception> Error
decomposedStrategy.Error += handler

Evento de erro.

IsOnlineChanged
public event Action<DecomposedStrategy> IsOnlineChanged
decomposedStrategy.IsOnlineChanged += handler

O estado online mudou.

LatencyChanged
public event Action LatencyChanged
decomposedStrategy.LatencyChanged += handler

A latência mudou o evento.

Level1Received
public event Action<Subscription, Level1ChangeMessage> Level1Received
decomposedStrategy.Level1Received += handler

Valor de nível 1 recebido.

NewsReceived
public event Action<Subscription, News> NewsReceived
decomposedStrategy.NewsReceived += handler

Valor das notícias recebidas.

OrderBookReceived
public event Action<Subscription, IOrderBookMessage> OrderBookReceived
decomposedStrategy.OrderBookReceived += handler

Valor contabilístico da ordem recebido.

OrderCancelFailed
public event Action<OrderFail> OrderCancelFailed
decomposedStrategy.OrderCancelFailed += handler

O cancelamento da ordem falhou.

OrderCancelFailReceived
public event Action<Subscription, OrderFail> OrderCancelFailReceived
decomposedStrategy.OrderCancelFailReceived += handler

Ordem cancelar falha.

OrderCanceling
public event Action<Order> OrderCanceling
decomposedStrategy.OrderCanceling += handler

A ordem está prestes a ser cancelada.

OrderEdited
public event Action<long, Order> OrderEdited
decomposedStrategy.OrderEdited += handler

Ordem editada.

OrderEditFailed
public event Action<long, OrderFail> OrderEditFailed
decomposedStrategy.OrderEditFailed += handler

Falha na edição da ordem.

OrderEditFailReceived
public event Action<Subscription, OrderFail> OrderEditFailReceived
decomposedStrategy.OrderEditFailReceived += handler

Falha na edição de pedidos.

OrderLogReceived
public event Action<Subscription, IOrderLogMessage> OrderLogReceived
decomposedStrategy.OrderLogReceived += handler

Valor do registo de pedidos recebido.

OrderReceived
public event Action<Subscription, Order> OrderReceived
decomposedStrategy.OrderReceived += handler

Valor da ordem recebida.

OrderRegisterFailed
public event Action<OrderFail> OrderRegisterFailed
decomposedStrategy.OrderRegisterFailed += handler

O registo da encomenda falhou.

OrderRegisterFailReceived
public event Action<Subscription, OrderFail> OrderRegisterFailReceived
decomposedStrategy.OrderRegisterFailReceived += handler

Falha no registo de pedidos.

OrderRegistering
public event Action<Order> OrderRegistering
decomposedStrategy.OrderRegistering += handler

A ordem está prestes a ser registada.

OrderReRegistering
public event Action<Order, Order> OrderReRegistering
decomposedStrategy.OrderReRegistering += handler

A ordem está prestes a ser re-registrada.

OwnTradeReceived
public event Action<Subscription, MyTrade> OwnTradeReceived
decomposedStrategy.OwnTradeReceived += handler

Valor comercial próprio recebido.

ParametersChanged
public event Action ParametersChanged
decomposedStrategy.ParametersChanged += handler

Os parâmetros de estratégia mudaram o evento.

PnLChanged
public event Action PnLChanged
decomposedStrategy.PnLChanged += handler

PnL changed event.

PnLReceived
public event Action<Subscription> PnLReceived
decomposedStrategy.PnLReceived += handler

PnL recebeu evento.

PnLReceived2
public event Action<Subscription, Portfolio, DateTime, decimal, decimal?, decimal?> PnLReceived2
decomposedStrategy.PnLReceived2 += handler

PnL recebeu evento.

PortfolioReceived
public event Action<Subscription, Portfolio> PortfolioReceived
decomposedStrategy.PortfolioReceived += handler

Valor da carteira recebida.

PositionChanged
public event Action PositionChanged
decomposedStrategy.PositionChanged += handler

A posição mudou.

PositionReceived
public event Action<Subscription, Position> PositionReceived
decomposedStrategy.PositionReceived += handler

Valor da posição recebida.

PropertyChanged
public event PropertyChangedEventHandler PropertyChanged
decomposedStrategy.PropertyChanged += handler

O elemento diagrama propriedades valor mudança evento.

Reseted
public event Action Reseted
decomposedStrategy.Reseted += handler

Estratégia de reset evento.

SecurityReceived
public event Action<Subscription, Security> SecurityReceived
decomposedStrategy.SecurityReceived += handler

Valor do instrumento financeiro recebido.

SlippageChanged
public event Action SlippageChanged
decomposedStrategy.SlippageChanged += handler

O evento foi alterado por slippage.

SubscriptionFailed
public event Action<Subscription, Exception, bool> SubscriptionFailed
decomposedStrategy.SubscriptionFailed += handler

A assinatura falhou.

SubscriptionOnline
public event Action<Subscription> SubscriptionOnline
decomposedStrategy.SubscriptionOnline += handler

A assinatura está online.

SubscriptionReceived
public event Action<Subscription, object> SubscriptionReceived
decomposedStrategy.SubscriptionReceived += handler

Valor da assinatura recebido.

SubscriptionStarted
public event Action<Subscription> SubscriptionStarted
decomposedStrategy.SubscriptionStarted += handler

A assinatura está iniciada.

SubscriptionStopped
public event Action<Subscription, Exception> SubscriptionStopped
decomposedStrategy.SubscriptionStopped += handler

A assinatura está interrompida.

TickTradeReceived
public event Action<Subscription, ITickTradeMessage> TickTradeReceived
decomposedStrategy.TickTradeReceived += handler

Valor comercial recebido.