public ExecutionReport OrderToTrade(GdaxOrderResponse order)
        {
            var id         = order.Id;
            var execTime   = order.CreatedAt;
            var execPrice  = order.Price;
            var execVolume = order.ExecutedValue;
            var tradeType  = GdaxOrderSideToTradeType(order.Side);
            var status     = GdaxOrderStatusToExecutionStatus(order);
            var instr      = ExchangeSymbolToLykkeInstrument(order.ProductId);

            return(new ExecutionReport(instr, execTime, execPrice, execVolume,
                                       tradeType, id.ToString(), status));
        }
        public OrderExecutionStatus GdaxOrderStatusToExecutionStatus(GdaxOrderResponse order)
        {
            switch (order.Status)
            {
            case "open":
                return(OrderExecutionStatus.New);

            case "pending":
                return(OrderExecutionStatus.Pending);

            case "active":      // Is this correct - Investigate
                return(OrderExecutionStatus.PartialFill);

            case "cancelled":      // do we have such status? Investigate
                return(OrderExecutionStatus.Cancelled);

            case "done":
                return(OrderExecutionStatus.Fill);
            }

            return(OrderExecutionStatus.Unknown);
        }