private void criarOrdemInversa(OrderBook book, Ordem ordemExecutada) { try { Console.WriteLine("Criando ordem inversa"); OrderList orderList = null; double precoLimite = 0; ordemExecutada.definirQuantidade(ordemExecutada.obterQuantidadeExecutada()); if (ordemExecutada.action == Constantes.TIPO_ORDEM_COMPRA) { ordemExecutada.precoLimite = ordemExecutada.obterPreco() + api.parametros.minimoLucroBRL; criarOrdemVendaNova(book, ordemExecutada); } else if (ordemExecutada.action == Constantes.TIPO_ORDEM_VENDA) { ordemExecutada.precoLimite = Convert.ToDouble(ordemExecutada.price) - api.parametros.minimoLucroBRL; criarOrdemCompraNova(book, ordemExecutada); } //atualizarListaOrdens(orderList, precoLimite); } catch (Exception ex) { Console.WriteLine("Erro ao criar ordem inversa " + ex.Message); Console.WriteLine(" "); } }
private void criarOrdemResidual(OrderBook book, Ordem ordem) { try { Console.WriteLine("Criando ordem de trade residual:"); ordem.definirQuantidade(ordem.obterQuantidade() - ordem.obterQuantidadeExecutada()); OrderList orderList = null; if (ordem.action == Constantes.TIPO_ORDEM_COMPRA) { criarOrdemCompraNova(book, ordem); } else if (ordem.action == Constantes.TIPO_ORDEM_VENDA) { criarOrdemVendaNova(book, ordem); } // atualizarListaOrdens(orderList, ordem.precoLimite); } catch (Exception ex) { Console.WriteLine("Erro ao criar ordem residual " + ex.Message); } }