private void button1_Click(object sender, EventArgs e) { //Method in charge of handle a new smartorder request //Setting things up SmartTraderOrderProcessor Broker = new SmartTraderOrderProcessor(); EnviarOrdemSmartRequest request = new EnviarOrdemSmartRequest(); EnviarOrdemSmartResponse response = new EnviarOrdemSmartResponse(); OrdemSmart OrdemSmart = new OrdemSmart(); OrdemSmart.Account = 31940; OrdemSmart.Instrument = "OIBR4"; OrdemSmart.Qty = 100; OrdemSmart.OperacaoInicio.PrecoOrdem = 3; OrdemSmart.OperacaoInicio.PrecoDisparo = 3.30; OrdemSmart.OperacaoInicio.PrecoOrdemTipo = TipoPreco.EntrarImediatamente; OrdemSmart.OperacaoLucro.PrecoOrdem = 3; OrdemSmart.OperacaoLucro.PrecoDisparo = 3.30; OrdemSmart.OperacaoLucro.PrecoOrdemTipo = TipoPreco.Indefinido; OrdemSmart.OperacaoPerda.PrecoOrdem = 3; OrdemSmart.OperacaoPerda.PrecoDisparo = 3.30; OrdemSmart.OperacaoPerda.PrecoOrdemTipo = TipoPreco.Indefinido; request.SmartOrder = OrdemSmart; response = Broker.EnviarOrdemSmartTrader(request); }
public EnviarOrdemSmartResponse EnviarOrdemSmart(EnviarOrdemSmartRequest ordemReq) { try { EnviarOrdemSmartResponse resp = new EnviarOrdemSmartResponse(); resp = _orderProcessing.EnviarOrdem(ordemReq); return(resp); } catch (Exception ex) { logger.Error("Problemas no envio da ordem smart: " + ex.Message, ex); return(null); } }
public EnviarOrdemSmartResponse EnviarOrdem(EnviarOrdemSmartRequest ordem) { try { EnviarOrdemSmartResponse resp = new EnviarOrdemSmartResponse(); if (null != _smtMonitor) { _smtMonitor.AddInstrument(ordem.SmartOrder.Instrument, ordem.SmartOrder); } return(resp); } catch (Exception ex) { logger.Error("Erro na Ordem Smart: " + ex.Message, ex); return(null); } }
/// <summary> /// Method accountable for managing a new SmartTrader order /// </summary> /// <param name="request"> SmartTrader order parameters </param> /// <returns></returns> public EnviarOrdemSmartResponse EnviarOrdemSmartTrader(EnviarOrdemSmartRequest request) { EnviarOrdemSmartResponse response = new EnviarOrdemSmartResponse(); try { /* TRACING */ logger.Info("ACCOUNT............................................." + request.SmartOrder.Account.ToString()); logger.Info("INSTRUMENT.........................................." + request.SmartOrder.Instrument.ToString()); logger.Info("PRECOORDEM.........................................." + request.SmartOrder.OperacaoInicio.PrecoOrdem.ToString()); logger.Info("PRECODISPARO........................................" + request.SmartOrder.OperacaoInicio.PrecoDisparo.ToString()); logger.Info("OPERACAO LUCRO [PRECOORDEM] ........................" + request.SmartOrder.OperacaoLucro.PrecoOrdem.ToString()); logger.Info("OPERACAO LUCRO [PRECODISPARO] ......................" + request.SmartOrder.OperacaoLucro.PrecoDisparo.ToString()); logger.Info("OPERACAO LUCRO [TIPOORDEM] ........................." + request.SmartOrder.OperacaoLucro.PrecoOrdemTipo.ToString()); logger.Info("OPERACAO LUCRO [VALOR] ............................." + request.SmartOrder.OperacaoLucro.Valor.ToString()); logger.Info("OPERACAO PERDA [PRECOORDEM] ........................" + request.SmartOrder.OperacaoPerda.PrecoOrdem.ToString()); logger.Info("OPERACAO PERDA [PRECODISPARO] ......................" + request.SmartOrder.OperacaoPerda.PrecoDisparo.ToString()); logger.Info("OPERACAO LUCRO [TIPOORDEM] ........................." + request.SmartOrder.OperacaoPerda.PrecoOrdemTipo.ToString()); logger.Info("OPERACAO LUCRO [VALOR] ............................." + request.SmartOrder.OperacaoPerda.Valor.ToString()); //REGISTERING THE ORDER IN THE DB PersistenciaSmartTrader _PersistenciaSmartTrader = new PersistenciaSmartTrader(); // RETURN THE SAME OBJECT ,HOWEVER THE PROPERTY "ID" IS FILLED IN response.OrdemSmart = _PersistenciaSmartTrader.InserirOrdem(request.SmartOrder); response.StatusResponse = "OK"; ThreadPool.QueueUserWorkItem(new WaitCallback(SendOrder), request); } catch (Exception ex) { response.DescricaoErro = "OCORREU UM ERRO AO GRAVAR A SMARTORDER NO BANCO DE DADOS. DESCRICAO DO ERRO: " + ex.Message; response.StackTrace = ex.StackTrace; response.StatusResponse = "ERRO"; logger.Info("OCORREU UM ERRO AO GRAVAR A SMARTORDER NO BANCO DE DADOS. DESCRICAO DO ERRO: " + ex.Message); } return(response); }