示例#1
0
        private void preencherValoresSimulado(clsModMinhasOrdens aObjOrdem)
        {
            clsApiOrders_operations_data vObjOperacao;

            try
            {
                this._ObjOrdemAPI.response_data                  = new clsApiOrders_data();
                this._ObjOrdemAPI.response_data.order            = new clsApiOrders_orders_data();
                this._ObjOrdemAPI.response_data.order.operations = new List <clsApiOrders_operations_data>();
                vObjOperacao = new clsApiOrders_operations_data();

                this._ObjOrdemAPI.response_data.order.order_id           = Convert.ToInt32(aObjOrdem.pID);
                this._ObjOrdemAPI.response_data.order.created_timestamp  = Convert.ToString((aObjOrdem.pDataCriacao.ToUniversalTime().Subtract(new DateTime(1970, 1, 1))).TotalSeconds);
                this._ObjOrdemAPI.response_data.order.executed_quantity  = clsTooUtil.converterDecimalString_US(aObjOrdem.pQtdExecutada);
                this._ObjOrdemAPI.response_data.order.quantity           = clsTooUtil.converterDecimalString_US(aObjOrdem.pQtdMoeda);
                this._ObjOrdemAPI.response_data.order.status             = 4;
                this._ObjOrdemAPI.response_data.order.order_type         = (aObjOrdem.pTipoOrdem == clsModMinhasOrdens.enumTipoOrdem.Compra) ? 1 : 2;
                this._ObjOrdemAPI.response_data.order.limit_price        = clsTooUtil.converterDecimalString_US(aObjOrdem.pVlrLimite);
                this._ObjOrdemAPI.response_data.order.executed_price_avg = clsTooUtil.converterDecimalString_US(aObjOrdem.pVlrLimite);
                this._ObjOrdemAPI.response_data.order.has_fills          = true;

                this._ObjOrdemAPI.response_data.order.fee = clsTooUtil.converterDecimalString_US(aObjOrdem.pVlrTaxa);

                vObjOperacao.operation_id       = 1;
                vObjOperacao.quantity           = this._ObjOrdemAPI.response_data.order.quantity;
                vObjOperacao.price              = this._ObjOrdemAPI.response_data.order.limit_price;
                vObjOperacao.fee_rate           = this._ObjOrdemAPI.response_data.order.fee;
                vObjOperacao.executed_timestamp = this._ObjOrdemAPI.response_data.order.created_timestamp;

                this._ObjOrdemAPI.response_data.order.operations.Add(vObjOperacao);
            }
            catch { throw; }
        }
示例#2
0
        private void preencherValoresSimulado(clsApiMercadoBitcon.enumTipoOrdem aEnumTipoOrdem)
        {
            clsApiOrders_operations_data vObjOperacao;

            try
            {
                Random vRandNum = new Random();
                this._ObjOrdemAPI.response_data                  = new clsApiOrders_data();
                this._ObjOrdemAPI.response_data.order            = new clsApiOrders_orders_data();
                this._ObjOrdemAPI.response_data.order.operations = new List <clsApiOrders_operations_data>();
                vObjOperacao = new clsApiOrders_operations_data();

                this._ObjOrdemAPI.response_data.order.order_id           = vRandNum.Next();
                this._ObjOrdemAPI.response_data.order.created_timestamp  = Convert.ToString((Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds);
                this._ObjOrdemAPI.response_data.order.executed_quantity  = clsTooUtil.converterDecimalString_US(this._QtdNegociada);
                this._ObjOrdemAPI.response_data.order.quantity           = clsTooUtil.converterDecimalString_US(this._QtdNegociada);
                this._ObjOrdemAPI.response_data.order.status             = 2;
                this._ObjOrdemAPI.response_data.order.order_type         = (aEnumTipoOrdem == clsApiMercadoBitcon.enumTipoOrdem.Compra) ? 1 : 2;
                this._ObjOrdemAPI.response_data.order.limit_price        = clsTooUtil.converterDecimalString_US(this._ValorLimite);
                this._ObjOrdemAPI.response_data.order.executed_price_avg = clsTooUtil.converterDecimalString_US(this._ValorLimite);
                this._ObjOrdemAPI.response_data.order.has_fills          = true;

                if (aEnumTipoOrdem == clsApiMercadoBitcon.enumTipoOrdem.Compra)
                {
                    this._ObjOrdemAPI.response_data.order.fee = clsTooUtil.converterDecimalString_US(this._QtdNegociada * Convert.ToDecimal(Program.Parametros.pPctTaxaCompra));
                    Program.Carteira.atualizarCarteiraSimulado(Program.Carteira.pSaldoMoeda - (Program.Carteira.pSaldoMoeda * Convert.ToDecimal(Program.Parametros.pPctDisponivelCompra)), this._QtdNegociada - clsTooUtil.converterStringDecimal_US(this._ObjOrdemAPI.response_data.order.fee));
                }
                else
                {
                    this._ObjOrdemAPI.response_data.order.fee = clsTooUtil.converterDecimalString_US((this._QtdNegociada * this._ValorLimite) * Convert.ToDecimal(Program.Parametros.pPctTaxaVenda));
                    Program.Carteira.atualizarCarteiraSimulado((this._QtdNegociada * this._ValorLimite) - clsTooUtil.converterStringDecimal_US(this._ObjOrdemAPI.response_data.order.fee), 0);
                }

                vObjOperacao.operation_id       = 1;
                vObjOperacao.quantity           = this._ObjOrdemAPI.response_data.order.quantity;
                vObjOperacao.price              = this._ObjOrdemAPI.response_data.order.limit_price;
                vObjOperacao.fee_rate           = this._ObjOrdemAPI.response_data.order.fee;
                vObjOperacao.executed_timestamp = this._ObjOrdemAPI.response_data.order.created_timestamp;

                this._ObjOrdemAPI.response_data.order.operations.Add(vObjOperacao);
            }
            catch { throw; }
        }