Пример #1
0
        private void btnSelecionar_Click(object sender, EventArgs e)
        {
            AutomacaoOrdensDados ordemStop = new AutomacaoOrdensDados();

            AutomacaoOrdensInfo list = ordemStop.SelecionaOrdemStopStart(993);

            //Formatador.ArmarStopSimples(list);
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
 public ArmarStartStopRequest()
 {
     _AutomacaoOrdensInfo = new AutomacaoOrdensInfo();
 }
Пример #4
0
        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));
            }
        }