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); }