private void EnviarOrdemRisco() { DateTime Inicio = DateTime.Now; EnviarOrdemRequest OrdemRequest = new EnviarOrdemRequest { OrdemInfo = new OrdemInfo { Account = IdCliente, ChannelID = 1, ExecBroker = "227", ExpireDate = DateTime.Now.AddDays(30), OrderQty = 1800, OrdType = OrdemTipoEnum.OnClose, OrdStatus = OrdemStatusEnum.NOVA, Price = 35.00, RegisterTime = DateTime.Now, Side = OrdemDirecaoEnum.Compra, Symbol = "PETRH42", TimeInForce = OrdemValidadeEnum.ValidaAteSerCancelada, Description = "Envio de ordem de compra de opções." } }; IServicoOrdens servicoOrdem = Ativador.Get <IServicoOrdens>(); EnviarOrdemResponse response = servicoOrdem.EnviarOrdem(OrdemRequest); TimeSpan TempoGasto = (Inicio - DateTime.Now); }
private static void testesOrdens() { int qtde = 2000; IServicoOrdens servicoOrdens = Ativador.Get <IServicoOrdens>(); DateTime dtIni = DateTime.Now; for (int i = 0; i < qtde; i++) { servicoOrdens.ExecutarOrdem( new ExecutarOrdemRequest() { Account = "1230", CodigoBolsa = "BOVESPA", OrderQty = 100, Symbol = "USIM5", Side = OrdemDirecaoEnum.Compra, TimeInForce = OrdemValidadeEnum.ExecutaIntegralOuCancela, OrdType = OrdemTipoEnum.Limitada, Price = 35 }); } DateTime dtFim = DateTime.Now; TimeSpan diff = dtFim - dtIni; MessageBox.Show(diff.TotalMilliseconds.ToString() + "; " + (diff.TotalMilliseconds / qtde).ToString()); }
private void ControleEnvioMensagens_Load(object sender, EventArgs e) { // Referencia aos serviços _servicoOrdens = Ativador.Get <IServicoOrdens>(); _servicoCanais = Ativador.Get <IServicoCanaisNegociacao>(); // Carrega lista de mensagens de requisicao Assembly[] assemblies = System.AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in assemblies) { foreach (Type tipo in assembly.GetTypes()) { if (tipo.IsSubclassOf(typeof(MensagemRequestBase))) { lstMensagem.Items.Add(tipo); } } } // Carrega parametros if (_parametros != null) { splitter1.SplitPosition = (int)_parametros["splitter"]; } }
private static void CancelarOrdensExperiradas(object state) { if (DateTime.Now.Hour < HorarioFechamentoBolsa) { OrdensExpiradasAtualizadas = false; } if ((DateTime.Now.Hour >= HorarioFechamentoBolsa) && (OrdensExpiradasAtualizadas == false)) { CamadaDeDados _CamadaDeDados = new CamadaDeDados(); _CamadaDeDados.AbrirConexao(); List <string> Ordens = _CamadaDeDados.BuscarOrdensValidasParaoDia(); IServicoOrdens ServicoOrdens = Ativador.Get <IServicoOrdens>(); for (int i = 0; i <= Ordens.Count - 1; i++) { ClienteCancelamentoInfo ClienteCancelamentoInfo = new ClienteCancelamentoInfo() { OrderID = Ordens[i].ToString() }; EnviarCancelamentoOrdemRequest request = new EnviarCancelamentoOrdemRequest() { ClienteCancelamentoInfo = ClienteCancelamentoInfo }; EnviarCancelamentoOrdemResponse response = ServicoOrdens.CancelarOrdem(request); } OrdensExpiradasAtualizadas = true; } }
void ControleListaAtivos_Load(object sender, EventArgs e) { // Referencia aos serviços _servicoOrdens = Ativador.Get <IServicoOrdens>(); _servicoCanais = Ativador.Get <IServicoCanaisNegociacao>(); // Pede lista de ativos System.Threading.ThreadPool.QueueUserWorkItem( new System.Threading.WaitCallback( delegate(object parametros) { ListarInstrumentosResponse listarInstrumentosResponse = _servicoOrdens.ListarInstrumentos( new ListarInstrumentosRequest() { CodigoMensagem = "reqi01", CodigoBolsa = "BMF", CodigoCliente = "123", DataReferencia = DateTime.Now }); var t = from s in listarInstrumentosResponse.Instrumentos select new InstrumentoInfo() { Symbol = s }; grdInstrumentos.Invoke( new InvokeDelegate( delegate() { grdInstrumentos.DataSource = new List <InstrumentoInfo>(t); })); })); }
protected override void OnLoad(EventArgs e) { // Repassa mensagem base.OnLoad(e); // Referencia aos serviços _servicoOrdens = Ativador.Get <IServicoOrdens>(); _servicoCanais = Ativador.Get <IServicoCanaisNegociacao>(); // Carrega lista de mensagens de requisicao Assembly[] assemblies = System.AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in assemblies) { foreach (Type tipo in assembly.GetTypes()) { if (tipo.IsSubclassOf(typeof(MensagemRequestBase))) { lstMensagem.Items.Add(tipo); } } } // Monitora mensagens recebidas _servicoOrdens.EventoSinalizacao += new EventHandler <SinalizarEventArgs>(_servicoOrdens_EventoSinalizacao); // Status lblStatusCanais.Text = _servicoCanais.ReceberStatusServico().ToString(); }
public EnviarOrdemBasketResponse EnviarOrdemBasket(EnviarOrdemBasketRequest _request) { EnviarOrdemBasketResponse _response = new EnviarOrdemBasketResponse(); IServicoOrdens _gServico = Ativador.Get <IServicoOrdens>(); try { ListarItensBasketResponse _resposta = new PersistenciaOrdens().SelecionarItemsBasket(_request.CodigoBasket); foreach (BasketItemInfo info in _resposta.ListaItemsBasket) { EnviarOrdemRequest OrdemRequest = new EnviarOrdemRequest(); ClienteOrdemInfo _ClienteOrdemInfo = new ClienteOrdemInfo(); _ClienteOrdemInfo.CodigoCliente = info.CodigoCliente; _ClienteOrdemInfo.DataHoraSolicitacao = DateTime.Now; _ClienteOrdemInfo.DataValidade = info.DataValidade; if (info.LadoOferta == "C") { _ClienteOrdemInfo.DirecaoOrdem = OrdemDirecaoEnum.Compra; } else { _ClienteOrdemInfo.DirecaoOrdem = OrdemDirecaoEnum.Venda; } _ClienteOrdemInfo.Instrumento = info.Papel; _ClienteOrdemInfo.PortaControleOrdem = _request.PortaControle.ToString(); _ClienteOrdemInfo.Preco = double.Parse(info.Preco.ToString()); _ClienteOrdemInfo.Quantidade = info.Quantidade; _ClienteOrdemInfo.QuantidadeAparente = info.QuantidadeAparente; _ClienteOrdemInfo.QuantidadeMinima = info.QuantidadeMinima; _ClienteOrdemInfo.TipoDeOrdem = OrdemTipoEnum.Limitada; _ClienteOrdemInfo.ValidadeOrdem = Gradual.OMS.RoteadorOrdens.Lib.Dados.OrdemValidadeEnum.ValidaParaODia; OrdemRequest.ClienteOrdemInfo = _ClienteOrdemInfo; EnviarOrdemResponse _resp = _gServico.EnviarOrdem(OrdemRequest); } new PersistenciaOrdens().AtualizarStatusBasket("D", _request.CodigoBasket); _response.Sucesso = true; return(_response); } catch (Exception ex) { throw (ex); } }
void ControleMonitorEventos_Load(object sender, EventArgs e) { // Referencia aos serviços _servicoOrdens = Ativador.Get <IServicoOrdens>(); _servicoCanais = Ativador.Get <IServicoCanaisNegociacao>(); // Monitora mensagens recebidas _servicoOrdens.EventoSinalizacao += new EventHandler <SinalizarEventArgs>(_servicoOrdens_EventoSinalizacao); // Detalhe das linhas do grid grdMensagens.DoubleClick += new EventHandler(grdMensagens_DoubleClick); }
/// <summary> /// Method in charge of handle with the IServicoOrdens /// </summary> /// <param name="pEnviarOrdemSmartRequest"></param> private void SendOrder(object pEnviarOrdemSmartRequest) { //unboxing EnviarOrdemSmartRequest _EnviarOrdemSmartRequest = (EnviarOrdemSmartRequest)(pEnviarOrdemSmartRequest); EnviarOrdemRequest OrderRequest = new EnviarOrdemRequest(); EnviarOrdemResponse OrderResponse = new EnviarOrdemResponse(); try { IServicoOrdens ServicoOrdens = Ativador.Get <IServicoOrdens>(); //FILLING SMARTTRADER ORDER OrderRequest.ClienteOrdemInfo.Account = _EnviarOrdemSmartRequest.SmartOrder.Account; OrderRequest.ClienteOrdemInfo.Symbol = _EnviarOrdemSmartRequest.SmartOrder.Instrument; OrderRequest.ClienteOrdemInfo.ExpireDate = DateTime.Now; OrderRequest.ClienteOrdemInfo.TimeInForce = Gradual.OMS.RoteadorOrdens.Lib.Dados.OrdemValidadeEnum.ValidaParaODia; if (_EnviarOrdemSmartRequest.SmartOrder.Side == Side.Compra) { OrderRequest.ClienteOrdemInfo.Side = Gradual.OMS.RoteadorOrdens.Lib.Dados.OrdemDirecaoEnum.Compra; } else if (_EnviarOrdemSmartRequest.SmartOrder.Side == Side.Venda) { OrderRequest.ClienteOrdemInfo.Side = Gradual.OMS.RoteadorOrdens.Lib.Dados.OrdemDirecaoEnum.Venda; } OrderRequest.ClienteOrdemInfo.Price = _EnviarOrdemSmartRequest.SmartOrder.OperacaoInicio.PrecoDisparo; OrderRequest.ClienteOrdemInfo.OrdType = Gradual.OMS.RoteadorOrdens.Lib.Dados.OrdemTipoEnum.Limitada; OrderRequest.ClienteOrdemInfo.TimeInForce = Gradual.OMS.RoteadorOrdens.Lib.Dados.OrdemValidadeEnum.ValidaParaODia; OrderRequest.ClienteOrdemInfo.OrderQty = _EnviarOrdemSmartRequest.SmartOrder.Qty; OrderRequest.ClienteOrdemInfo.ChannelID = 362; OrderRequest.ClienteOrdemInfo.CompIDOMS = "SMART"; OrderRequest.ClienteOrdemInfo.CumQty = 0; OrderRequest.ClienteOrdemInfo.MinQty = 0; OrderRequest.ClienteOrdemInfo.OrigClOrdID = ""; OrderRequest.ClienteOrdemInfo.Memo5149 = "SMART"; OrderRequest.ClienteOrdemInfo.StopStartID = _EnviarOrdemSmartRequest.SmartOrder.Id; OrderResponse = ServicoOrdens.EnviarOrdem(OrderRequest); } catch (Exception ex) { logger.Info("OCORREU UM ERRO AO ENVIAR A ORDEM PARA O SERVICO DE ORDENS. DESCRICAO: " + ex.Message); } }
private void testeToolStripMenuItem_Click(object sender, EventArgs e) { IServicoOrdens servicoOrdens = Ativador.Get <IServicoOrdens>(); ExecutarOrdemResponse response = servicoOrdens.ExecutarOrdem( new ExecutarOrdemRequest() { Account = "1", ClOrdID = "o1", CodigoBolsa = "BOVESPA", CodigoCliente = "123", DataReferencia = DateTime.Now, OrderQty = 100, OrdType = OrdemTipoEnum.Limitada, Price = 85, Side = OrdemDirecaoEnum.Compra, Symbol = "USIM5", TimeInForce = OrdemValidadeEnum.ValidaParaODia }); }
private void EnviarOrdemRisco() { DateTime dataInicio = DateTime.Now; IServicoOrdens _gServico = Ativador.Get <IServicoOrdens>(); EnviarOrdemRequest OrdemRequest = new EnviarOrdemRequest { ClienteOrdemInfo = new ClienteOrdemInfo { CodigoCliente = 31940, // NumeroControleOrdem = "16042012123433-94912441", DataHoraSolicitacao = DateTime.Now, DataValidade = new DateTime(2012, 05, 28, 23, 59, 59), DirecaoOrdem = OrdemDirecaoEnum.Compra, Instrumento = "ICFU12", PortaControleOrdem = "0", Preco = 100, Quantidade = 1, QuantidadeAparente = 0, QuantidadeMinima = 0, TipoDeOrdem = OrdemTipoEnum.Limitada, ValidadeOrdem = Gradual.OMS.RoteadorOrdens.Lib.Dados.OrdemValidadeEnum.ValidaParaODia, } }; // EnviarOrdemResponse response = _gServico.EnviarOrdem(OrdemRequest); EnviarOrdemResponse response = new ServicoOrdens().EnviarOrdem(OrdemRequest); Thread.Sleep(1000); TimeSpan datafinal = (DateTime.Now - dataInicio); bool solicitacao = true; }
/// <summary> /// Exclui as ordens selecionadas /// </summary> /// <returns>Retorna uma string com mensagem de sucesso ou erro ao excluir as ordens</returns> private string ResponderExcluirOrdens() { string lRetorno = string.Empty; try { string lIds = Request.Form["Ids"]; string lPortas = Request.Form["Portas"]; string lMensagem = ""; List <string> lstIdOrdem = new List <string>(); IServicoOrdens lOrdem = Ativador.Get <IServicoOrdens>(); Dictionary <string, string> lCriticas = new Dictionary <string, string>(); EnviarCancelamentoOrdemResponse lResponse = new EnviarCancelamentoOrdemResponse(); string[] Ordens = lIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string[] Portas = lPortas.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); ClienteCancelamentoInfo info; EnviarCancelamentoOrdemRequest lRequestCancel; for (int i = 0; i < Ordens.Length; i++) { info = new ClienteCancelamentoInfo(); info.OrderID = Ordens[i]; info.PortaControleOrdem = Portas[i]; lRequestCancel = new EnviarCancelamentoOrdemRequest() { ClienteCancelamentoInfo = info }; lResponse = lOrdem.CancelarOrdem(lRequestCancel); if (lResponse.StatusResposta != OMS.Ordens.Lib.Enum.CriticaRiscoEnum.Sucesso) { lCriticas.Add(info.OrderID, lResponse.DescricaoResposta); } } if (lCriticas.Count > 0) { foreach (KeyValuePair <string, string> critica in lCriticas) { lMensagem += string.Concat("Ordem: ", critica.Key, "Crítica - ", critica.Value); } lRetorno = RetornarSucessoAjax(lMensagem); } else { lRetorno = RetornarSucessoAjax("Orden(s) cancelada(s) com sucesso"); base.RegistrarLogExclusao(string.Concat("Foram EXCLUÍDAS as seguintes ordens: ", lIds)); } } catch (Exception ex) { lRetorno = base.RetornarErroAjax("Erro ao tentar cancelar ordem.", ex); } return(lRetorno); }