test 完善

This commit is contained in:
bense
2023-09-24 08:50:00 +08:00
parent f5bf41bf1d
commit bfff0f62be
9 changed files with 56 additions and 82 deletions

View File

@@ -11,7 +11,7 @@ var opt = &Opt{
Port: 7709,
}
func prepare() *Client {
func newClient() *Client {
api := NewClient(opt)
reply, err := api.Connect()
if err != nil {
@@ -24,30 +24,29 @@ func prepare() *Client {
func Test_tdx_Connect(t *testing.T) {
fmt.Println("================ Connect ================")
api := NewClient(opt)
defer api.Disconnect()
reply, err := api.Connect()
if err != nil {
t.Errorf("error:%s", err)
}
fmt.Println(reply.Info)
_ = api.Disconnect()
}
func Test_tdx_GetSecurityCount(t *testing.T) {
fmt.Println("================ GetSecurityCount ================")
api := prepare()
api := newClient()
defer api.Disconnect()
reply, err := api.GetSecurityCount(MarketSh)
if err != nil {
t.Errorf("error:%s", err)
}
fmt.Println(reply.Count)
_ = api.Disconnect()
}
func Test_tdx_GetSecurityQuotes(t *testing.T) {
fmt.Println("================ GetSecurityQuotes ================")
api := prepare()
api := newClient()
defer api.Disconnect()
reply, err := api.GetSecurityQuotes([]uint8{MarketSh}, []string{"002062"})
if err != nil {
t.Errorf("error:%s", err)
@@ -56,14 +55,12 @@ func Test_tdx_GetSecurityQuotes(t *testing.T) {
for _, obj := range reply.List {
fmt.Printf("%+v \n", obj)
}
_ = api.Disconnect()
}
func Test_tdx_GetSecurityList(t *testing.T) {
fmt.Println("================ GetSecurityList ================")
api := prepare()
api := newClient()
defer api.Disconnect()
reply, err := api.GetSecurityList(MarketSh, 0)
if err != nil {
t.Errorf("error:%s", err)
@@ -71,15 +68,13 @@ func Test_tdx_GetSecurityList(t *testing.T) {
for _, obj := range reply.List {
fmt.Printf("%+v \n", obj)
}
_ = api.Disconnect()
}
func Test_tdx_GetSecurityBars(t *testing.T) {
fmt.Println("================ GetSecurityBars ================")
// GetSecurityBars 与 GetIndexBars 使用同一个接口靠market区分
api := prepare()
api := newClient()
defer api.Disconnect()
reply, err := api.GetSecurityBars(proto.KLINE_TYPE_RI_K, 0, "000001", 0, 10)
if err != nil {
t.Errorf("error:%s", err)
@@ -88,15 +83,13 @@ func Test_tdx_GetSecurityBars(t *testing.T) {
for _, obj := range reply.List {
fmt.Printf("%+v \n", obj)
}
_ = api.Disconnect()
}
func Test_tdx_GetIndexBars(t *testing.T) {
fmt.Println("================ GetIndexBars ================")
// GetSecurityBars 与 GetIndexBars 使用同一个接口靠market区分
api := prepare()
api := newClient()
defer api.Disconnect()
reply, err := api.GetIndexBars(proto.KLINE_TYPE_RI_K, 1, "000001", 0, 10)
if err != nil {
t.Errorf("error:%s", err)
@@ -105,14 +98,12 @@ func Test_tdx_GetIndexBars(t *testing.T) {
for _, obj := range reply.List {
fmt.Printf("%+v \n", obj)
}
_ = api.Disconnect()
}
func Test_tdx_GetMinuteTimeData(t *testing.T) {
fmt.Println("================ GetMinuteTimeData ================")
api := prepare()
api := newClient()
defer api.Disconnect()
reply, err := api.GetMinuteTimeData(0, "159607")
if err != nil {
t.Errorf("error:%s", err)
@@ -121,14 +112,12 @@ func Test_tdx_GetMinuteTimeData(t *testing.T) {
for _, obj := range reply.List {
fmt.Printf("%+v \n", obj)
}
_ = api.Disconnect()
}
func Test_tdx_GetHistoryMinuteTimeData(t *testing.T) {
fmt.Println("================ GetHistoryMinuteTimeData ================")
api := prepare()
api := newClient()
defer api.Disconnect()
//reply, err := api.GetHistoryMinuteTimeData(20220511, 0, "159607")
reply, err := api.GetHistoryMinuteTimeData(20220511, 0, "159607")
if err != nil {
@@ -138,16 +127,14 @@ func Test_tdx_GetHistoryMinuteTimeData(t *testing.T) {
for _, obj := range reply.List {
fmt.Printf("%+v \n", obj)
}
_ = api.Disconnect()
}
func Test_tdx_GetTransactionData(t *testing.T) {
fmt.Println("================ GetTransactionData ================")
api := prepare()
api := newClient()
defer api.Disconnect()
//reply, err := api.GetHistoryMinuteTimeData(20220511, 0, "159607")
reply, err := api.GetTransactionData(0, "159607", 0, 10)
reply, err := api.GetTransactionData(MarketSh, "159607", 0, 10)
if err != nil {
t.Errorf("error:%s", err)
}
@@ -155,16 +142,13 @@ func Test_tdx_GetTransactionData(t *testing.T) {
for _, obj := range reply.List {
fmt.Printf("%+v \n", obj)
}
_ = api.Disconnect()
}
func Test_tdx_GetHistoryTransactionData(t *testing.T) {
fmt.Println("================ GetHistoryTransactionData ================")
api := prepare()
//reply, err := api.GetHistoryMinuteTimeData(20220511, 0, "159607")
reply, err := api.GetHistoryTransactionData(20220511, 0, "159607", 0, 10)
api := newClient()
defer api.Disconnect()
reply, err := api.GetHistoryTransactionData(20230922, MarketSh, "159607", 0, 10)
if err != nil {
t.Errorf("error:%s", err)
}
@@ -172,7 +156,4 @@ func Test_tdx_GetHistoryTransactionData(t *testing.T) {
for _, obj := range reply.List {
fmt.Printf("%+v \n", obj)
}
_ = api.Disconnect()
}

View File

@@ -48,6 +48,7 @@ func NewGetHistoryMinuteTimeData() *GetHistoryMinuteTimeData {
obj.contentHex = ""
return obj
}
func (obj *GetHistoryMinuteTimeData) SetParams(req *GetHistoryMinuteTimeDataRequest) {
obj.request = req
}
@@ -71,9 +72,9 @@ func (obj *GetHistoryMinuteTimeData) Serialize() ([]byte, error) {
}
// 结果数据都是\n,\t分隔的中文字符串比如查询K线数据返回的结果字符串就形如
///“时间\t开盘价\t收盘价\t最高价\t最低价\t成交量\t成交额\n
///20150519\t4.644000\t4.732000\t4.747000\t4.576000\t146667487\t683638848.000000\n
///20150520\t4.756000\t4.850000\t4.960000\t4.756000\t353161092\t1722953216.000000”
// /“时间\t开盘价\t收盘价\t最高价\t最低价\t成交量\t成交额\n
// /20150519\t4.644000\t4.732000\t4.747000\t4.576000\t146667487\t683638848.000000\n
// /20150520\t4.756000\t4.850000\t4.960000\t4.756000\t353161092\t1722953216.000000”
func (obj *GetHistoryMinuteTimeData) UnSerialize(header interface{}, data []byte) error {
obj.respHeader = header.(*RespHeader)

View File

@@ -54,6 +54,7 @@ func NewGetHistoryTransactionData() *GetHistoryTransactionData {
obj.contentHex = ""
return obj
}
func (obj *GetHistoryTransactionData) SetParams(req *GetHistoryTransactionDataRequest) {
obj.request = req
}

View File

@@ -63,6 +63,7 @@ func NewGetIndexBars() *GetIndexBars {
obj.contentHex = "00000000000000000000"
return obj
}
func (obj *GetIndexBars) SetParams(req *GetIndexBarsRequest) {
obj.request = req
obj.request.I = 1

View File

@@ -50,6 +50,7 @@ func NewGetMinuteTimeData() *GetMinuteTimeData {
obj.contentHex = ""
return obj
}
func (obj *GetMinuteTimeData) SetParams(req *GetMinuteTimeDataRequest) {
obj.request = req
}
@@ -73,9 +74,9 @@ func (obj *GetMinuteTimeData) Serialize() ([]byte, error) {
}
// 结果数据都是\n,\t分隔的中文字符串比如查询K线数据返回的结果字符串就形如
///“时间\t开盘价\t收盘价\t最高价\t最低价\t成交量\t成交额\n
///20150519\t4.644000\t4.732000\t4.747000\t4.576000\t146667487\t683638848.000000\n
///20150520\t4.756000\t4.850000\t4.960000\t4.756000\t353161092\t1722953216.000000”
// /“时间\t开盘价\t收盘价\t最高价\t最低价\t成交量\t成交额\n
// /20150519\t4.644000\t4.732000\t4.747000\t4.576000\t146667487\t683638848.000000\n
// /20150520\t4.756000\t4.850000\t4.960000\t4.756000\t353161092\t1722953216.000000”
func (obj *GetMinuteTimeData) UnSerialize(header interface{}, data []byte) error {
obj.respHeader = header.(*RespHeader)

View File

@@ -63,6 +63,7 @@ func NewGetSecurityBars() *GetSecurityBars {
obj.contentHex = "00000000000000000000"
return obj
}
func (obj *GetSecurityBars) SetParams(req *GetSecurityBarsRequest) {
obj.request = req
obj.request.I = 1
@@ -87,9 +88,9 @@ func (obj *GetSecurityBars) Serialize() ([]byte, error) {
}
// 结果数据都是\n,\t分隔的中文字符串比如查询K线数据返回的结果字符串就形如
///“时间\t开盘价\t收盘价\t最高价\t最低价\t成交量\t成交额\n
///20150519\t4.644000\t4.732000\t4.747000\t4.576000\t146667487\t683638848.000000\n
///20150520\t4.756000\t4.850000\t4.960000\t4.756000\t353161092\t1722953216.000000”
// /“时间\t开盘价\t收盘价\t最高价\t最低价\t成交量\t成交额\n
// /20150519\t4.644000\t4.732000\t4.747000\t4.576000\t146667487\t683638848.000000\n
// /20150520\t4.756000\t4.850000\t4.960000\t4.756000\t353161092\t1722953216.000000”
func (obj *GetSecurityBars) UnSerialize(header interface{}, data []byte) error {
obj.respHeader = header.(*RespHeader)

View File

@@ -36,6 +36,7 @@ func NewGetSecurityCount() *GetSecurityCount {
obj.contentHex = "75c73301" // 未解
return obj
}
func (obj *GetSecurityCount) SetParams(req *GetSecurityCountRequest) {
obj.request = req
}

View File

@@ -53,6 +53,7 @@ func NewGetTransactionData() *GetTransactionData {
obj.contentHex = ""
return obj
}
func (obj *GetTransactionData) SetParams(req *GetTransactionDataRequest) {
obj.request = req
}

View File

@@ -34,34 +34,21 @@ const (
KMSG_TRANSACTIONDATA = 0x0fc5 // 分笔成交信息
KMSG_XDXRINFO = 0x000f // 除权除息信息
/*
K线种类
# K 线种类
# 0 - 5 分钟K 线
# 1 - 15 分钟K 线
# 2 - 30 分钟K 线
# 3 - 1 小时K 线
# 4 - 日K 线
# 5 - 周K 线
# 6 - 月K 线
# 7 - 1 分钟
# 8 - 1 分钟K 线
# 9 - 日K 线
# 10 - 季K 线
# 11 - 年K 线
*/
KLINE_TYPE_5MIN = 0
KLINE_TYPE_15MIN = 1
KLINE_TYPE_30MIN = 2
KLINE_TYPE_1HOUR = 3
KLINE_TYPE_DAILY = 4
KLINE_TYPE_WEEKLY = 5
KLINE_TYPE_MONTHLY = 6
KLINE_TYPE_EXHQ_1MIN = 7
KLINE_TYPE_1MIN = 8
KLINE_TYPE_RI_K = 9
KLINE_TYPE_3MONTH = 10
KLINE_TYPE_YEARLY = 11
)
const (
KLINE_TYPE_5MIN = 0 // 5 分钟K 线
KLINE_TYPE_15MIN = 1 // 15 分钟K 线
KLINE_TYPE_30MIN = 2 // 30 分钟K 线
KLINE_TYPE_1HOUR = 3 // 1 小时K 线
KLINE_TYPE_DAILY = 4 // 日K 线
KLINE_TYPE_WEEKLY = 5 // 周K 线
KLINE_TYPE_MONTHLY = 6 // 月K 线
KLINE_TYPE_EXHQ_1MIN = 7 // 1 分钟
KLINE_TYPE_1MIN = 8 // 1 分钟K 线
KLINE_TYPE_RI_K = 9 // 日K 线
KLINE_TYPE_3MONTH = 10 // 季K 线
KLINE_TYPE_YEARLY = 11 // 年K 线
)
type Msg interface {
@@ -288,11 +275,10 @@ func getvolume(ivol int) (volume float64) {
}
func baseUnit(code string) float64 {
c := code[:2]
switch c {
switch code[:2] {
case "60", "30", "68", "00":
return 100.0
default:
return 1000.0
}
return 1000.0
}