@@ -398,11 +398,11 @@ func (bn *Binance) GetAccount() (*Account, error) {
398398 return & acc , nil
399399}
400400
401- func (bn * Binance ) LimitBuy (amount , price string , currencyPair CurrencyPair ) (* Order , error ) {
401+ func (bn * Binance ) LimitBuy (amount , price string , currencyPair CurrencyPair , opt ... LimitOrderOptionalParameter ) (* Order , error ) {
402402 return bn .placeOrder (amount , price , currencyPair , "LIMIT" , "BUY" )
403403}
404404
405- func (bn * Binance ) LimitSell (amount , price string , currencyPair CurrencyPair ) (* Order , error ) {
405+ func (bn * Binance ) LimitSell (amount , price string , currencyPair CurrencyPair , opt ... LimitOrderOptionalParameter ) (* Order , error ) {
406406 return bn .placeOrder (amount , price , currencyPair , "LIMIT" , "SELL" )
407407}
408408
@@ -537,40 +537,6 @@ func (bn *Binance) GetUnfinishOrders(currencyPair CurrencyPair) ([]Order, error)
537537 return orders , nil
538538}
539539
540- func (bn * Binance ) GetAllUnfinishOrders () ([]Order , error ) {
541- params := url.Values {}
542-
543- bn .buildParamsSigned (& params )
544- path := bn .apiV3 + UNFINISHED_ORDERS_INFO + params .Encode ()
545-
546- respmap , err := HttpGet3 (bn .httpClient , path , map [string ]string {"X-MBX-APIKEY" : bn .accessKey })
547- if err != nil {
548- return nil , err
549- }
550-
551- orders := make ([]Order , 0 )
552- for _ , v := range respmap {
553- ord := v .(map [string ]interface {})
554- side := ord ["side" ].(string )
555- orderSide := SELL
556- if side == "BUY" {
557- orderSide = BUY
558- }
559-
560- ordId := ToInt (ord ["orderId" ])
561- orders = append (orders , Order {
562- OrderID : ToInt (ord ["orderId" ]),
563- OrderID2 : strconv .Itoa (ordId ),
564- Currency : bn .toCurrencyPair (ord ["symbol" ].(string )),
565- Price : ToFloat64 (ord ["price" ]),
566- Amount : ToFloat64 (ord ["origQty" ]),
567- Side : TradeSide (orderSide ),
568- Status : ORDER_UNFINISH ,
569- OrderTime : ToInt (ord ["time" ])})
570- }
571- return orders , nil
572- }
573-
574540func (bn * Binance ) GetKlineRecords (currency CurrencyPair , period , size , since int ) ([]Kline , error ) {
575541 params := url.Values {}
576542 params .Set ("symbol" , currency .ToSymbol ("" ))
@@ -662,14 +628,31 @@ func (bn *Binance) GetOrderHistorys(currency CurrencyPair, currentPage, pageSize
662628 orderSide = BUY
663629 }
664630 ordId := ToInt (ord ["orderId" ])
631+ status := ord ["status" ].(string )
632+ var tradeStatus TradeStatus
633+ switch status {
634+ case "NEW" :
635+ tradeStatus = ORDER_UNFINISH
636+ case "FILLED" :
637+ tradeStatus = ORDER_FINISH
638+ case "PARTIALLY_FILLED" :
639+ tradeStatus = ORDER_PART_FINISH
640+ case "CANCELED" :
641+ tradeStatus = ORDER_CANCEL
642+ case "PENDING_CANCEL" :
643+ tradeStatus = ORDER_CANCEL_ING
644+ case "REJECTED" :
645+ tradeStatus = ORDER_REJECT
646+ }
647+
665648 orders = append (orders , Order {
666649 OrderID : ToInt (ord ["orderId" ]),
667650 OrderID2 : strconv .Itoa (ordId ),
668651 Currency : currency ,
669652 Price : ToFloat64 (ord ["price" ]),
670653 Amount : ToFloat64 (ord ["origQty" ]),
671654 Side : TradeSide (orderSide ),
672- Status : ORDER_UNFINISH ,
655+ Status : tradeStatus ,
673656 OrderTime : ToInt (ord ["time" ])})
674657 }
675658 return orders , nil
0 commit comments