示例#1
0
        public OpenOrderResponse OpenOrder(OpenOrderRequest request)
        {
            OrderDetailsService service  = new OrderDetailsService();
            OpenOrderResponse   response = new OpenOrderResponse();

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    request.Order = service.GetById(request.OrderId);
                    request.Order.OrderStatusId             = 1;
                    request.Order.OrderStatus.OrderStatusId = 1;
                    request.Order.OrderStatus.StatusName    = "Open";
                    if (request.Order != null)
                    {
                        service.Update(request.Order);
                    }
                    // The Complete method commits the transaction. If an exception has been thrown,
                    // Complete is not  called and the transaction is rolled back.
                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                response.IsFailed = true;
                response.Message  = ex.Message;
            }
            return(response);
        }
示例#2
0
        private OrderResponse[] KuCoinOrderResponseToOrderResponse(OpenOrderResponse kuOrders)
        {
            var buys  = KuCoinOpenOrderDetailToOrderReponse(kuOrders.openBuys, TradeType.BUY);
            var sells = KuCoinOpenOrderDetailToOrderReponse(kuOrders.openSells, TradeType.SELL);

            var orderResponses = new OrderResponse[buys.Length + sells.Length];

            buys.CopyTo(orderResponses, 0);
            sells.CopyTo(orderResponses, buys.Length);

            return(orderResponses);
        }
示例#3
0
文件: Proxy.cs 项目: willdarwin/tta
        /// <summary>
        /// insert a piece of orderdetails by orderid   --by Eric
        /// </summary>
        /// <param name="orderdetails"></param>
        /// <returns></returns>
        public bool OpenOrder(int id)
        {
            OpenOrderRequest request = new OpenOrderRequest();

            request.OrderId = id;
            OpenOrderResponse response = MyChannelFactory.CreateChannel().OpenOrder(request);

            if (response != null)
            {
                if (response.IsFailed == true)
                {
                    throw (new Exception(response.Message));
                }
            }
            return(response.IsFailed);
        }
示例#4
0
        /// <summary>
        /// Update a piece of orderdetails by orderid   --by Eric
        /// </summary>
        /// <param name="orderdetails"></param>
        /// <returns></returns>
        public bool OpenOrder(int id)
        {
            OpenOrderRequest request = new OpenOrderRequest();

            request.OrderId = id;
            OpenOrderResponse response = MyChannelFactory.CreateChannel().OpenOrder(request);

            if (response != null)
            {
                if (response.IsFailed == true)
                {
                    ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
                    log.Error("error", new Exception(response.Message));
                    log.Fatal("fatal", new Exception(response.Message));
                    throw (new Exception(response.Message));
                }
            }
            return(response.IsFailed);
        }
示例#5
0
        public void Start()
        {
            TrenderOrderManager orderManager = new TrenderOrderManager(_mqlApi, _symbol);

            var volume = orderManager.GetAvailableVolume(_symbol);
            OpenOrderRequest openOrderRequest = new OpenOrderRequest
            {
                OrderType = _trenDirection == TrendDirectionEnum.UP ? OrderTypeEnum.BUY : OrderTypeEnum.SELL,
                Volume    = volume,

                // Todo: Get from DB!
                Slippage   = 3,
                StopLoss   = 0,
                TakeProfit = 0,
                Comment    = "Comment",
                Magic      = 1000000,

                Expiration = DateTime.MinValue
            };
            OpenOrderResponse openOrderResponse = orderManager.OpenOrder(openOrderRequest);
        }