mirror of
https://github.com/injoyai/tdx.git
synced 2025-11-26 21:25:35 +08:00
发现K线,不同类型需要不同处理,小时以下(包含)需要除以100,日及以上则不需要
This commit is contained in:
@@ -137,8 +137,26 @@ func (kline) Decode(bs []byte, Type uint8) (*KlineResp, error) {
|
||||
k.Low = (open + last + low) / 10
|
||||
last = last + open + _close
|
||||
|
||||
k.Volume = int64(getVolume(Uint32(bs[:4])) / 100)
|
||||
k.Amount = Price(getVolume(Uint32(bs[4:8])) * 100) //转为分,并去除多余的小数
|
||||
/*
|
||||
发现不同的K线数据处理不一致,测试如下:
|
||||
1分: 需要除以100
|
||||
5分: 需要除以100
|
||||
15分: 需要除以100
|
||||
30分: 需要除以100
|
||||
60分: 需要除以100
|
||||
日: 不需要操作
|
||||
周: 不需要操作
|
||||
月: 不需要操作
|
||||
季: 不需要操作
|
||||
年: 不需要操作
|
||||
|
||||
*/
|
||||
k.Volume = int64(getVolume(Uint32(bs[:4])))
|
||||
switch Type {
|
||||
case TypeKlineMinute, TypeKline5Minute, TypeKline15Minute, TypeKline30Minute, TypeKlineHour:
|
||||
k.Volume /= 100
|
||||
}
|
||||
k.Amount = Price(getVolume(Uint32(bs[4:8])) * 100) //从元转为分,并去除多余的小数
|
||||
|
||||
bs = bs[8:]
|
||||
resp.List = append(resp.List, k)
|
||||
|
||||
@@ -51,11 +51,11 @@ const (
|
||||
TypeKline15Minute uint8 = 1 // 15分钟K 线
|
||||
TypeKline30Minute uint8 = 2 // 30分钟K 线
|
||||
TypeKlineHour uint8 = 3 // 1小时K 线
|
||||
TypeKlineDay2 uint8 = 4 // 日K 线
|
||||
TypeKlineDay2 uint8 = 4 // 日K 线,未知
|
||||
TypeKlineWeek uint8 = 5 // 周K 线
|
||||
TypeKlineMonth uint8 = 6 // 月K 线
|
||||
TypeKlineMinute uint8 = 7 // 1分钟
|
||||
TypeKlineMinute2 uint8 = 8 // 1分钟K 线
|
||||
TypeKlineMinute2 uint8 = 8 // 1分钟K 线,未知
|
||||
TypeKlineDay uint8 = 9 // 日K 线
|
||||
TypeKlineQuarter uint8 = 10 // 季K 线
|
||||
TypeKlineYear uint8 = 11 // 年K 线
|
||||
|
||||
Reference in New Issue
Block a user