diff --git a/exchanges/huobi/huobi_wrapper.go b/exchanges/huobi/huobi_wrapper.go index 0c3165ef..48746052 100644 --- a/exchanges/huobi/huobi_wrapper.go +++ b/exchanges/huobi/huobi_wrapper.go @@ -409,31 +409,28 @@ func (h *HUOBI) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([] side = strings.ToLower(string(getOrdersRequest.OrderSide)) } - var allOrders []OrderInfo + var orders []exchange.OrderDetail + for _, c := range getOrdersRequest.Currencies { resp, err := h.GetOpenOrders(h.ClientID, c.Lower().String(), side, 500) if err != nil { return nil, err } - allOrders = append(allOrders, resp...) - } - var orders []exchange.OrderDetail - for _, order := range allOrders { - symbol := currency.NewPairDelimiter(order.Symbol, - h.ConfigCurrencyPairFormat.Delimiter) - orderDate := time.Unix(order.CreatedAt, 0) + for _, order := range resp { + orderDate := time.Unix(order.CreatedAt, 0) - orders = append(orders, exchange.OrderDetail{ - ID: fmt.Sprintf("%v", order.ID), - Exchange: h.Name, - Amount: order.Amount, - Price: order.Price, - OrderDate: orderDate, - ExecutedAmount: order.FilledAmount, - RemainingAmount: (order.Amount - order.FilledAmount), - CurrencyPair: symbol, - }) + orders = append(orders, exchange.OrderDetail{ + ID: fmt.Sprintf("%v", order.ID), + Exchange: h.Name, + Amount: order.Amount, + Price: order.Price, + OrderDate: orderDate, + ExecutedAmount: order.FilledAmount, + RemainingAmount: (order.Amount - order.FilledAmount), + CurrencyPair: c, + }) + } } exchange.FilterOrdersByTickRange(&orders, getOrdersRequest.StartTicks, @@ -450,9 +447,9 @@ func (h *HUOBI) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([] } states := "partial-canceled,filled,canceled" - var allOrders []OrderInfo - for _, currency := range getOrdersRequest.Currencies { - resp, err := h.GetOrders(currency.Lower().String(), + var orders []exchange.OrderDetail + for _, c := range getOrdersRequest.Currencies { + resp, err := h.GetOrders(c.Lower().String(), "", "", "", @@ -463,23 +460,19 @@ func (h *HUOBI) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([] if err != nil { return nil, err } - allOrders = append(allOrders, resp...) - } - var orders []exchange.OrderDetail - for _, order := range allOrders { - symbol := currency.NewPairDelimiter(order.Symbol, - h.ConfigCurrencyPairFormat.Delimiter) - orderDate := time.Unix(order.CreatedAt, 0) + for _, order := range resp { + orderDate := time.Unix(order.CreatedAt, 0) - orders = append(orders, exchange.OrderDetail{ - ID: fmt.Sprintf("%v", order.ID), - Exchange: h.Name, - Amount: order.Amount, - Price: order.Price, - OrderDate: orderDate, - CurrencyPair: symbol, - }) + orders = append(orders, exchange.OrderDetail{ + ID: fmt.Sprintf("%v", order.ID), + Exchange: h.Name, + Amount: order.Amount, + Price: order.Price, + OrderDate: orderDate, + CurrencyPair: c, + }) + } } exchange.FilterOrdersByTickRange(&orders, getOrdersRequest.StartTicks, diff --git a/exchanges/okgroup/okgroup_wrapper.go b/exchanges/okgroup/okgroup_wrapper.go index 9daf5e04..0e4f08a9 100644 --- a/exchanges/okgroup/okgroup_wrapper.go +++ b/exchanges/okgroup/okgroup_wrapper.go @@ -382,6 +382,7 @@ func (o *OKGroup) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ( func (o *OKGroup) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) (resp []exchange.OrderDetail, err error) { for _, currency := range getOrdersRequest.Currencies { spotOpenOrders, err := o.GetSpotOrders(GetSpotOrdersRequest{ + Status: strings.Join([]string{"filled", "cancelled", "failure"}, "|"), InstrumentID: exchange.FormatExchangeCurrency(o.Name, currency).String(), }) if err != nil { @@ -389,9 +390,13 @@ func (o *OKGroup) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ( } for _, openOrder := range spotOpenOrders { resp = append(resp, exchange.OrderDetail{ + ID: openOrder.OrderID, + Price: openOrder.Price, Amount: openOrder.Size, CurrencyPair: currency, Exchange: o.Name, + OrderSide: exchange.OrderSide(openOrder.Side), + OrderType: exchange.OrderType(openOrder.Type), ExecutedAmount: openOrder.FilledSize, OrderDate: openOrder.Timestamp, Status: openOrder.Status,