mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-31 23:16:54 +00:00
order: slight optimizations (#917)
* order: slight optimizations * orders: add benchmarks, small optimize and change order side to uin8 for comparitive optimizations. * orders: continue to convert string type -> uint * orders/backtester: interim move type to orders package, later can expand or deprecate. * orders: handle errors * orders: optimize filters and remove error returns when its clearly not needed * orders: remove log call * backtester: zero value check * orders/futures: zero value -> flag * linter: fix * linter: more fixes * linters: rides again * glorious: nits * common: Add zero value unix check for time values; also addresses glorious nits * glorious scott: nits Co-authored-by: Ryan O'Hara-Reid <ryan.oharareid@thrasher.io>
This commit is contained in:
@@ -6,7 +6,6 @@ import (
|
||||
"net/url"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
@@ -551,13 +550,18 @@ func (i *ItBit) GetActiveOrders(ctx context.Context, req *order.GetOrdersRequest
|
||||
orders := make([]order.Detail, 0, len(allOrders))
|
||||
for j := range allOrders {
|
||||
var symbol currency.Pair
|
||||
symbol, err := currency.NewPairDelimiter(allOrders[j].Instrument,
|
||||
symbol, err = currency.NewPairDelimiter(allOrders[j].Instrument,
|
||||
format.Delimiter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
side := order.Side(strings.ToUpper(allOrders[j].Side))
|
||||
orderDate, err := time.Parse(time.RFC3339, allOrders[j].CreatedTime)
|
||||
var side order.Side
|
||||
side, err = order.StringToOrderSide(allOrders[j].Side)
|
||||
if err != nil {
|
||||
log.Errorf(log.ExchangeSys, "%s %v", i.Name, err)
|
||||
}
|
||||
var orderDate time.Time
|
||||
orderDate, err = time.Parse(time.RFC3339, allOrders[j].CreatedTime)
|
||||
if err != nil {
|
||||
log.Errorf(log.ExchangeSys,
|
||||
"Exchange %v Func %v Order %v Could not parse date to unix with value of %v",
|
||||
@@ -579,9 +583,12 @@ func (i *ItBit) GetActiveOrders(ctx context.Context, req *order.GetOrdersRequest
|
||||
})
|
||||
}
|
||||
|
||||
order.FilterOrdersByTimeRange(&orders, req.StartTime, req.EndTime)
|
||||
err = order.FilterOrdersByTimeRange(&orders, req.StartTime, req.EndTime)
|
||||
if err != nil {
|
||||
log.Errorf(log.ExchangeSys, "%s %v", i.Name, err)
|
||||
}
|
||||
order.FilterOrdersBySide(&orders, req.Side)
|
||||
order.FilterOrdersByCurrencies(&orders, req.Pairs)
|
||||
order.FilterOrdersByPairs(&orders, req.Pairs)
|
||||
return orders, nil
|
||||
}
|
||||
|
||||
@@ -623,13 +630,18 @@ func (i *ItBit) GetOrderHistory(ctx context.Context, req *order.GetOrdersRequest
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
side := order.Side(strings.ToUpper(allOrders[j].Side))
|
||||
status, err := order.StringToOrderStatus(allOrders[j].Status)
|
||||
var side order.Side
|
||||
side, err = order.StringToOrderSide(allOrders[j].Side)
|
||||
if err != nil {
|
||||
log.Errorf(log.ExchangeSys, "%s %v", i.Name, err)
|
||||
}
|
||||
orderDate, err := time.Parse(time.RFC3339, allOrders[j].CreatedTime)
|
||||
var status order.Status
|
||||
status, err = order.StringToOrderStatus(allOrders[j].Status)
|
||||
if err != nil {
|
||||
log.Errorf(log.ExchangeSys, "%s %v", i.Name, err)
|
||||
}
|
||||
var orderDate time.Time
|
||||
orderDate, err = time.Parse(time.RFC3339, allOrders[j].CreatedTime)
|
||||
if err != nil {
|
||||
log.Errorf(log.ExchangeSys,
|
||||
"Exchange %v Func %v Order %v Could not parse date to unix with value of %v",
|
||||
@@ -656,9 +668,12 @@ func (i *ItBit) GetOrderHistory(ctx context.Context, req *order.GetOrdersRequest
|
||||
orders = append(orders, detail)
|
||||
}
|
||||
|
||||
order.FilterOrdersByTimeRange(&orders, req.StartTime, req.EndTime)
|
||||
err = order.FilterOrdersByTimeRange(&orders, req.StartTime, req.EndTime)
|
||||
if err != nil {
|
||||
log.Errorf(log.ExchangeSys, "%s %v", i.Name, err)
|
||||
}
|
||||
order.FilterOrdersBySide(&orders, req.Side)
|
||||
order.FilterOrdersByCurrencies(&orders, req.Pairs)
|
||||
order.FilterOrdersByPairs(&orders, req.Pairs)
|
||||
return orders, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user