Skip to content

Commit d31b812

Browse files
authored
Merge pull request #871 from c9s/improvements/maxapi
improve: improve maxapi, add v2 order api back
2 parents 3bdc6c7 + e735362 commit d31b812

18 files changed

+750
-39
lines changed

pkg/cmd/kline.go

+14
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"fmt"
66
"syscall"
7+
"time"
78

89
log "github.com/sirupsen/logrus"
910
"github.com/spf13/cobra"
@@ -54,6 +55,19 @@ var klineCmd = &cobra.Command{
5455
return err
5556
}
5657

58+
now := time.Now()
59+
kLines, err := session.Exchange.QueryKLines(ctx, symbol, types.Interval(interval), types.KLineQueryOptions{
60+
Limit: 50,
61+
EndTime: &now,
62+
})
63+
if err != nil {
64+
return err
65+
}
66+
log.Infof("kLines from RESTful API")
67+
for _, k := range kLines {
68+
log.Info(k.String())
69+
}
70+
5771
s := session.Exchange.NewStream()
5872
s.SetPublicOnly()
5973
s.Subscribe(types.KLineChannel, symbol, types.SubscribeOptions{Interval: types.Interval(interval)})

pkg/exchange/max/exchange.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@ func (e *Exchange) SubmitOrders(ctx context.Context, orders ...types.SubmitOrder
515515
req.Market(toLocalSymbol(o.Symbol)).
516516
Side(toLocalSideType(o.Side)).
517517
Volume(quantityString).
518-
OrderType(string(orderType)).
518+
OrderType(orderType).
519519
ClientOrderID(clientOrderID)
520520

521521
switch o.Type {

pkg/exchange/max/maxapi/account.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
)
1212

1313
type AccountService struct {
14-
client *RestClient
14+
client requestgen.AuthenticatedAPIClient
1515
}
1616

1717
// Account is for max rest api v2, Balance and Type will be conflict with types.PrivateBalanceUpdate
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package max
2+
3+
//go:generate -command GetRequest requestgen -method GET
4+
//go:generate -command PostRequest requestgen -method POST
5+
//go:generate -command DeleteRequest requestgen -method DELETE
6+
7+
import "github.com/c9s/requestgen"
8+
9+
func (s *OrderService) NewCancelOrderRequest() *CancelOrderRequest {
10+
return &CancelOrderRequest{client: s.client}
11+
}
12+
13+
//go:generate PostRequest -url "/api/v2/order/delete" -type CancelOrderRequest -responseType .Order
14+
type CancelOrderRequest struct {
15+
client requestgen.AuthenticatedAPIClient
16+
17+
id *uint64 `param:"id,omitempty"`
18+
clientOrderID *string `param:"client_oid,omitempty"`
19+
}

pkg/exchange/max/maxapi/cancel_order_request_requestgen.go

+163
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package max
2+
3+
import "github.com/c9s/requestgen"
4+
5+
//go:generate -command GetRequest requestgen -method GET
6+
//go:generate -command PostRequest requestgen -method POST
7+
//go:generate -command DeleteRequest requestgen -method DELETE
8+
9+
//go:generate PostRequest -url "/api/v2/orders" -type CreateOrderRequest -responseType .Order
10+
type CreateOrderRequest struct {
11+
client requestgen.AuthenticatedAPIClient
12+
13+
market string `param:"market,required"`
14+
side string `param:"side,required"`
15+
volume string `param:"volume,required"`
16+
orderType OrderType `param:"ord_type"`
17+
18+
price *string `param:"price"`
19+
stopPrice *string `param:"stop_price"`
20+
clientOrderID *string `param:"client_oid"`
21+
groupID *string `param:"group_id"`
22+
}
23+
24+
func (s *OrderService) NewCreateOrderRequest() *CreateOrderRequest {
25+
return &CreateOrderRequest{client: s.client}
26+
}

0 commit comments

Comments
 (0)