private void btnSelecionar_Click(object sender, EventArgs e) { AutomacaoOrdensDados ordemStop = new AutomacaoOrdensDados(); AutomacaoOrdensInfo list = ordemStop.SelecionaOrdemStopStart(993); //Formatador.ArmarStopSimples(list); }
public static void ArmarStopSimples(AutomacaoOrdensInfo _TOrder) { try { CultureInfo _ciPtBR = new CultureInfo("pt-BR"); SS_StopStart _SS_StopSimples = new SS_StopStart("BV"); _SS_StopSimples.CodigoInstrumento = _TOrder.Symbol; _SS_StopSimples.IdStopStart = Convert.ToString(_TOrder.StopStartID); _SS_StopSimples.IdTipoOrdem = Convert.ToString((int)_TOrder.IdStopStartTipo); _SS_StopSimples.PrecoGain = string.Format(_ciPtBR, "{0:F2}", _TOrder.StopGainValuePrice); _SS_StopSimples.PrecoLoss = string.Format(_ciPtBR, "{0:F2}", _TOrder.StopLossValuePrice); _SS_StopSimples.PrecoStart = string.Format(_ciPtBR, "{0:F2}", _TOrder.StartPriceValue); _SS_StopSimples.AjusteMovel = string.Format(_ciPtBR, "{0:F2}", _TOrder.AdjustmentMovelPrice); _SS_StopSimples.InicioMovel = string.Format(_ciPtBR, "{0:F2}", _TOrder.InitialMovelPrice); string msg = _SS_StopSimples.getMessageSS(); logger.Debug("Mensagem pro MDS [" + msg + "]"); if (_umdfsockets != null) { foreach (MDSPackageSocket mdssocket in _umdfsockets) { mdssocket.SendData(msg, true); } } lock (hstOrdensEnviadasMds) { hstOrdensEnviadasMds.Add(_SS_StopSimples.IdStopStart, _SS_StopSimples); } } catch (Exception ex) { throw new Exception(string.Format("Ocorreu um erro ao acessar o método ArmarStopLoss. Erro: {0}.\n StackTrace {1}:", ex.Message, ex.StackTrace)); } }
public ArmarStartStopRequest() { _AutomacaoOrdensInfo = new AutomacaoOrdensInfo(); }
private void ArmarStopLoss(int idCliente, string Instrumento, decimal preco, decimal preco2, StopStartTipoEnum StopStartTipo) { try { _Servico = Ativador.Get <IServicoOrdemStopStart>(); if (_Servico != null) { AutomacaoOrdensInfo _Order = new AutomacaoOrdensInfo(); ///* //_Order.IdBolsa = 1; //_Order.IdCliente = idCliente; //_Order.IdMercadoTipo = 1; //_Order.IdStopstartStatus = (int)OrdemStopStatus.Registrado; //_Order.IdStopStartTipo = StopStartTipo; //_Order.Instrumento = Instrumento; //_Order.DataValidade = DateTime.Now; //*/ _Order.IdBolsa = 1; _Order.Symbol = Instrumento; _Order.StopStartStatusID = (int)OrdemStopStatus.RegistradaAplicacao; _Order.ExpireDate = DateTime.Now; _Order.Account = idCliente; _Order.OrdTypeID = 83; //--StopStart _Order.IdStopStartTipo = StopStartTipo; ////_Order. if (StopStartTipo == StopStartTipoEnum.StopLoss) { _Order.SendStopGainPrice = null; _Order.StopGainValuePrice = null; _Order.StopLossValuePrice = preco; _Order.SendStopLossValuePrice = preco2; _Order.StartPriceValue = null; _Order.OrderQty = 100; _Order.AdjustmentMovelPrice = Conversao.ToDecimal(txtAdjMovelPrice.Text); _Order.InitialMovelPrice = Conversao.ToDecimal(txtInitialMovelPrice.Text); _Order.AdjustmentMovelPrice = null; _Order.InitialMovelPrice = null; ArmarStartStopResponse _Response = _Servico.ArmarStopStartGeral( new ArmarStartStopRequest() { _AutomacaoOrdensInfo = _Order }); //_Servico.ArmarStopLoss(new ArmarStartStopRequest() { _AutomacaoOrdensInfo = _Order }); //Registrador.AddEvent(EventMds, Eventos); //if (Contexto.SocketPrincipal != null) //{ // Console.WriteLine(string.Format("{0}{1}{2}{3}", "Stop armado com sucesso: ", _Order.Symbol, " - " + _Order.StopStartID.ToString(), " - " + _Order.StopLossValuePrice.ToString())); //} //else //{ // Console.WriteLine("Cliente não esta conectado."); //} } if (StopStartTipo == StopStartTipoEnum.StopGain) { _Order.StopGainValuePrice = preco; _Order.SendStopGainPrice = preco2; _Order.StopLossValuePrice = null; _Order.SendStopLossValuePrice = null; _Order.OrderQty = 90; _Order.AdjustmentMovelPrice = null; _Order.InitialMovelPrice = null; ArmarStartStopResponse _Response = _Servico.ArmarStopStartGeral( new ArmarStartStopRequest() { _AutomacaoOrdensInfo = _Order }); //Registrador.AddEvent(EventMds, Eventos); txtHistorico.Text += _Response.DescricaoResposta + "\n"; //if (Contexto.SocketPrincipal != null) //{ // Console.WriteLine(string.Format("{0}{1}{2}{3}", "Stop armado com sucesso: ", _Order.Symbol, " - " + _Order.StopStartID.ToString(), " - " + _Order.StopLossValuePrice.ToString())); //} //else //{ // Console.WriteLine("Cliente não esta conectado."); //} } if (StopStartTipo == StopStartTipoEnum.StopSimultaneo) { _Order.StopLossValuePrice = preco; _Order.StopGainValuePrice = preco2; _Order.SendStopGainPrice = Convert.ToDecimal(txtSendGain.Text); _Order.SendStopLossValuePrice = Convert.ToDecimal(txtSendLoss.Text); _Order.OrderQty = 1; //_Order.AdjustmentMovelPrice = Convert.ToDecimal(txtAdjMovelPrice.Text); //_Order.InitialMovelPrice = Convert.ToDecimal(txtInitialMovelPrice.Text); ArmarStartStopResponse _Response = _Servico.ArmarStopStartGeral( new ArmarStartStopRequest() { _AutomacaoOrdensInfo = _Order }); txtHistorico.Text += string.Concat(_Response.DescricaoResposta, "\n"); //if (Contexto.SocketPrincipal != null) //{ // Console.WriteLine(string.Format("{0}{1}{2}{3}", "Stop armado com sucesso: ", _Order.Symbol, " - " + _Order.StopStartID.ToString(), " - " + _Order.StopLossValuePrice.ToString())); //} //else //{ // Console.WriteLine("Cliente não esta conectado."); //} } if (StopStartTipo == StopStartTipoEnum.StartCompra) { _Order.StartPriceValue = preco; _Order.SendStartPrice = preco2; _Order.StopLossValuePrice = null; _Order.SendStopLossValuePrice = null; _Order.OrderQty = 90; _Order.AdjustmentMovelPrice = null; _Order.InitialMovelPrice = null; ArmarStartStopResponse _Response = _Servico.ArmarStopStartGeral( new ArmarStartStopRequest() { _AutomacaoOrdensInfo = _Order }); //Registrador.AddEvent(EventMds, Eventos); //if (Contexto.SocketPrincipal != null) //{ // Console.WriteLine(string.Format("{0}{1}{2}{3}", "Stop armado com sucesso: ", _Order.Symbol, " - " + _Order.StopStartID.ToString(), " - " + _Order.StopLossValuePrice.ToString())); //} //else //{ // Console.WriteLine("Cliente não esta conectado."); //} } //if (StopStartTipo == StopStartTipoEnum.StopMovel) //{ // _Order.StartPriceValue = preco; // _Order.SendStartPrice = preco2; // _Order.StopLossValuePrice = null; // _Order.SendStopLossValuePrice = null; // _Order.OrderQty = 100; // _Order.AdjustmentMovelPrice = decimal.Parse(txtAdjMovelPrice.Text); // _Order.InitialMovelPrice = decimal.Parse(txtInitialMovelPrice.Text); // ArmarStartStopResponse _Response = _Servico.ArmarStartCompra( // new ArmarStartStopRequest() // { // _AutomacaoOrdensInfo = _Order // }); // //Registrador.AddEvent(EventMds, Eventos); // if (Contexto.SocketPrincipal != null) // { // Console.WriteLine(string.Format("{0}{1}{2}{3}", "Stop armado com sucesso: ", _Order.Symbol, " - " + _Order.StopStartID.ToString(), " - " + _Order.StopLossValuePrice.ToString())); // } // else // { // Console.WriteLine("Cliente não esta conectado."); // } //} } } catch (Exception ex) { throw new Exception(string.Format("{0}{1}", "Ocorreu um erro ao armar o StopLoss: ", ex.Message)); } }