-
Notifications
You must be signed in to change notification settings - Fork 12
/
tick.go
55 lines (47 loc) · 1.19 KB
/
tick.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package upbit
import (
"fmt"
"github.com/sangx2/upbit/model"
"github.com/sangx2/upbit/model/quotation"
"net/url"
)
// GetTradeTicks 당일 체결 내역
//
// [QUERY PARAMS]
//
// market : REQUIRED. 마켓 코드 (ex. KRW-BTC, BTC-BCC)
//
// to : 마지막 체결 시각. 형식 : [HHmmss 또는 HH:mm:ss]. 비워서 요청시 가장 최근 데이터
//
// count : 체결 개수
//
// cursor : 페이지네이션 커서 (sequentialId)
func (u *Upbit) GetTradeTicks(market, to, count, cursor string) ([]*quotation.Tick, *model.Remaining, error) {
if len(market) == 0 {
return nil, nil, fmt.Errorf("market length is 0")
}
api, e := GetApiInfo(FuncGetTradeTicks)
if e != nil {
return nil, nil, e
}
var values = url.Values{
"market": []string{market},
"to": []string{to},
"count": []string{count},
"cursor": []string{cursor},
}
req, e := u.createRequest(api.Method, BaseURI+api.Url, values, api.Section)
if e != nil {
return nil, nil, e
}
resp, e := u.do(req, api.Group)
if e != nil {
return nil, nil, e
}
defer resp.Body.Close()
ticks, e := quotation.TicksFromJSON(resp.Body)
if e != nil {
return nil, nil, e
}
return ticks, model.RemainingFromHeader(resp.Header), nil
}