Beispiel #1
0
        private void processCancelamento(string instrumento, BovespaLivroOfertas livro, string linha)
        {
            // caso esteja iniciando reenvio, "limpa" o livro
            if (emReenvio)
            {
                if (!papeisReenvio.Contains(instrumento))
                {
                    livro.limpar();
                    papeisReenvio.Add(instrumento);
                }
            }

            string idOferta =
                linha.Substring(
                    S4_ID_OFERTA_DATA_OFERTA_INI,
                    S4_ID_OFERTA_NUM_SEQUENCIAL_OFERTA_FIM - S4_ID_OFERTA_DATA_OFERTA_INI) +
                linha.Substring(
                    S4_ID_OFERTA_ID_CORRETORA_INI,
                    S4_ID_OFERTA_ID_CORRETORA_FIM - S4_ID_OFERTA_ID_CORRETORA_INI);

            char sentidoOferta = linha[S4_ID_OFERTA_SENTIDO_OFERTA_INI];

            char tipoCancelamento = linha[TIPO_CANCELAMENTO_INI];

            switch (tipoCancelamento)
            {
            case '1':
                cancelaOfertaSomente(instrumento, livro, idOferta, sentidoOferta);
                break;

            case '2':
                cancelaOfertaEMelhores(instrumento, livro, idOferta, sentidoOferta);
                break;

            case '3':
                cancelaTodasOfertas(livro, idOferta, sentidoOferta);
                break;
            }
        }
Beispiel #2
0
        private void processAtualizacao(string instrumento, BovespaLivroOfertas livro, string linha)
        {
            // caso esteja iniciando reenvio, "limpa" o livro
            if (emReenvio)
            {
                if (!papeisReenvio.Contains(instrumento))
                {
                    livro.limpar();
                    papeisReenvio.Add(instrumento);
                }
            }

            // temporariamente descartando mensagens com oferta a preço de abertura
            //if (linha.charAt(TIPO_PRECO_REGISTRADO_INI) == 'O')
            //	return;

            char tipoAcao = linha[TIPO_ACAO_INI];

            switch (tipoAcao)
            {
            case 'C':
                atualizacaoCriacao(livro, linha, instrumento);
                break;

            case 'M':
                atualizacaoAlteracao(instrumento, livro, linha);
                break;

            case 'R':
                atualizacaoRetransmissao(livro, linha, instrumento);
                break;

            default:
                break;
            }
        }