Пример #1
0
        private void ArmarStopLoss(int idCliente, string Instrumento, decimal preco, decimal preco2, StopStartTipoEnum StopStartTipo)
        {
            try
            {
                //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 = 'S';
                //_Order.IdStopStartTipo = StopStartTipo;
                ////_Order.

                //if (StopStartTipo == StopStartTipoEnum.StopLoss)
                //{
                //    _Order.SendStopGainPrice      = null;
                //    _Order.StopGainValuePrice     = null;
                //    _Order.StopLossValuePrice     = preco;
                //    _Order.SendStopLossValuePrice = preco2;
                //    _Order.OrderQty               = 100;
                //    _Order.AdjustmentMovelPrice   = null;
                //    _Order.InitialMovelPrice      = null;


                //    ArmarStartStopResponse _Response = _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        = 35.60M;
                //    _Order.StopLossValuePrice       = null;
                //    _Order.SendStopLossValuePrice   = null;
                //    _Order.OrderQty                 = 100;
                //    _Order.AdjustmentMovelPrice     = null;
                //    _Order.InitialMovelPrice        = null;


                //    ArmarStartStopResponse _Response = _Servico.ArmarStopGain(
                //          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.StopSimultaneo)
                //{
                //    _Order.StopLossValuePrice     = preco;
                //    _Order.StopGainValuePrice     = preco2;
                //    _Order.SendStopGainPrice      = 34.90M;
                //    _Order.SendStopLossValuePrice = 34.50M;
                //    _Order.OrderQty               = 100;
                //    _Order.AdjustmentMovelPrice   = null;
                //    _Order.InitialMovelPrice      = null;


                //    ArmarStartStopResponse _Response = _Servico.ArmarStopSimultaneo(
                //          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.StartCompra)
                //{

                //    _Order.StartPriceValue        = preco;
                //    _Order.SendStartPrice         = preco2;
                //    _Order.StopLossValuePrice     = null;
                //    _Order.SendStopLossValuePrice = null;
                //    _Order.OrderQty               = 100;
                //    _Order.AdjustmentMovelPrice   = null;
                //    _Order.InitialMovelPrice      = null;

                //    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.");
                //    }


                //}

                //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));
            }
        }
Пример #2
0
        private void btnDisparar_Click(object sender, EventArgs e)
        {
            StopStartTipoEnum StopStartTipo = (StopStartTipoEnum)(int.Parse(cbTipoOrdem.SelectedValue.ToString()));

            ArmarStopLoss(int.Parse(txtCodigoCliente.Text), txtInstrumento.Text, decimal.Parse(txtPreco.Text), decimal.Parse(txtPreco2.Text), StopStartTipo);
        }
Пример #3
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));
            }
        }