Subscrições
Subscrever o Livro de Ofertas
Para subscrever o livro de ofertas no StockSharp, é necessário executar os seguintes passos:
- Subscrever o evento de receção de livros de ofertas Connector.OrderBookReceived e processar objetos da interface IOrderBookMessage:
// manipulador de evento
private void OnOrderBookReceived(Subscription subscription, IOrderBookMessage orderBook)
{
// Aqui você pode processar os dados do livro de ofertas, por exemplo, exibí-los na tela ou usá-los na estratégia
Console.WriteLine($"Livro de ordens recebido para {orderBook.SecurityId}. Melhor preço de compra: {orderBook.GetBestBid()?.Price}, melhor preço de venda: {orderBook.GetBestAsk()?.Price}");
}
// assinatura do evento
connector.OrderBookReceived += OnOrderBookReceived;
É importante subscrever o evento Connector.OrderBookReceived antes de enviar um pedido de subscrição para o livro de ofertas. Isto garante que não perde dados se os livros de ofertas começarem a chegar muito rapidamente após o envio do pedido de subscrição.
- Envie um pedido de subscrição usando o método Connector.Subscribe:
var security = GetSecurity(); // Obter o objeto Security que pretende subscrever
// assinar o livro de ofertas
var subscription = new Subscription(DataType.MarketDepth, security);
connector.Subscribe(subscription);
Cancelar a Subscrição do Livro de Ofertas
Para cancelar a subscrição do livro de ofertas, chame o método Connector.UnSubscribe:
connector.UnSubscribe(subscription);
Esclarecimento Sobre a Receção de Livros de Ofertas
Ao trabalhar com o evento Connector.OrderBookReceived, é importante compreender que os livros de ofertas que chegam através deste evento já estão compilados e prontos a usar. Isto significa que, independentemente do método de transmissão de dados pela fonte - sejam dados diferenciais (apenas alterações no livro de ofertas) ou snapshots completos do livro de ofertas - a plataforma StockSharp processa estes dados de modo que o trader recebe um livro de ofertas completo e atualizado.
A plataforma integra automaticamente as alterações no livro de ofertas, atualizando o seu conteúdo para o estado atual antes de chamar o evento Connector.OrderBookReceived. Isto simplifica o trabalho com dados, pois os traders não precisam de processar dados diferenciais de forma independente nem compilar o livro de ofertas a partir de snapshots consecutivos. Assim, pode ter a certeza de que os dados recebidos no manipulador de eventos refletem o estado mais recente do livro de ofertas no momento do evento.
Isto simplifica significativamente o desenvolvimento de estratégias de negociação e a análise de mercado, pois os traders podem concentrar-se diretamente na lógica das suas estratégias, sem gastar tempo nos aspetos técnicos de compilação e processamento dos dados do livro de ofertas.
Exemplo de Utilização
Exemplos de utilização do livro de ofertas estão disponíveis no projeto Samples/01_Basic/02_MarketDepths no GitHub ou no arquivo da API StockSharp, que pode ser obtido através do Instalador. Estes exemplos fornecem ilustrações práticas de ligação a um sistema de negociação, subscrição de um livro de ofertas filtrado e processamento dos dados recebidos, podendo servir como um bom ponto de partida para desenvolver as suas próprias estratégias de negociação.