Exemplos com o Livro de Ofertas

Obter os Melhores Preços

Para obter os melhores preços do livro de ofertas, é importante focar-se nos primeiros elementos das listas de ordens de compra (Bids) e ordens de venda (Asks), uma vez que estes representam os preços disponíveis mais favoráveis para transações:

var bestBid = orderBook.Bids.FirstOrDefault();
var bestAsk = orderBook.Asks.FirstOrDefault();

if (bestBid != null)
{
	Console.WriteLine($"Melhor preço de compra: {bestBid.Price}");
}

if (bestAsk != null)
{
	Console.WriteLine($"Melhor preço de venda: {bestAsk.Price}");
}

Ou use os métodos de extensão prontos a usar GetBestBid e GetBestAsk:

var bestBid = orderBook.GetBestBid();
var bestAsk = orderBook.GetBestAsk();

if (bestBid != null)
{
	Console.WriteLine($"Melhor preço de compra: {bestBid.Price}, volume: {bestBid.Volume}");
}
else
{
	Console.WriteLine("Não há melhores ordens de compra.");
}

if (bestAsk != null)
{
	Console.WriteLine($"Melhor preço de venda: {bestAsk.Price}, volume: {bestAsk.Volume}");
}
else
{
	Console.WriteLine("Não há melhores ordens de venda.");
}

Analisar a Profundidade do Livro de Ofertas

Para analisar a profundidade do livro de ofertas, pode percorrer os itens nas listas Bids e Asks, começando pelo início da lista. Isto fornece uma visão geral da distribuição das ordens em diferentes níveis de preço e ajuda a identificar potenciais níveis de suporte e resistência:

foreach (var bid in orderBook.Bids)
{
	Console.WriteLine($"Preço de compra: {bid.Price}, volume: {bid.Volume}");
}

foreach (var ask in orderBook.Asks)
{
	Console.WriteLine($"Preço de venda: {ask.Price}, volume: {ask.Volume}");
}

Procurar Volumes no Livro de Ofertas

Um algoritmo para procurar volumes significativos no livro de ofertas ajuda a identificar níveis onde se acumulam ordens grandes. Isto pode indicar o interesse de grandes participantes e servir como sinal adicional ao tomar decisões de negociação.

Algoritmo:

  1. Determinar um limiar de volume que será considerado significativo.
  2. Percorrer as ordens nas listas Bids e Asks, comparando o volume de cada ordem com o valor limiar.
  3. Registar os níveis de preço onde foram encontradas ordens com volume acima do limiar.
double significantVolumeThreshold = 10000; // Exemplo de valor de limiar

Console.WriteLine("Volumes significativos no livro de ordens:");

foreach (var bid in orderBook.Bids)
{
	if (bid.Volume >= significantVolumeThreshold)
	{
		Console.WriteLine($"Compra: preço {bid.Price}, volume {bid.Volume}");
	}
}

foreach (var ask in orderBook.Asks)
{
	if (ask.Volume >= significantVolumeThreshold)
	{
		Console.WriteLine($"Venda: preço {ask.Price}, volume {ask.Volume}");
	}
}

Este algoritmo ajuda a destacar níveis com volumes significativos, que podem desempenhar um papel importante nos movimentos dos preços de mercado.