diff --git a/core/candle.go b/core/candle.go index 39e18a3..1ec1749 100644 --- a/core/candle.go +++ b/core/candle.go @@ -185,53 +185,57 @@ func HashString(input string) string { return hashHex[:23] } -func (cl *Candle) ToStruct(core *Core) (Candle, error) { +func (cl *Candle) ToStruct(core *Core) (*Candle, error) { // cl.Timestamp ncd := Candle{} + ncd.Id = cl.Id + ncd.Period = cl.Period + ncd.InstId = cl.InstId + ncd.From = cl.From // 将字符串转换为 int64 类型的时间戳 ts, err := strconv.ParseInt(cl.Data[0].(string), 10, 64) if err != nil { fmt.Println("Error parsing timestamp:", err) - return ncd, err + return nil, err } ncd.Timestamp = time.Unix(ts/1000, (ts%1000)*1000000) // 纳秒级别 op, err := strconv.ParseFloat(cl.Data[1].(string), 64) if err != nil { fmt.Println("Error parsing string to float64:", err) - return ncd, err + return nil, err } ncd.Open = op hi, err := strconv.ParseFloat(cl.Data[2].(string), 64) if err != nil { fmt.Println("Error parsing string to float64:", err) - return ncd, err + return nil, err } ncd.High = hi lo, err := strconv.ParseFloat(cl.Data[3].(string), 64) if err != nil { fmt.Println("Error parsing string to float64:", err) - return ncd, err + return nil, err } ncd.Low = lo clse, err := strconv.ParseFloat(cl.Data[4].(string), 64) if err != nil { fmt.Println("Error parsing string to float64:", err) - return ncd, err + return nil, err } ncd.Close = clse ncd.VolCcy, err = strconv.ParseFloat(cl.Data[6].(string), 64) if err != nil { fmt.Println("Error parsing string to float64:", err) - return ncd, err + return nil, err } if cl.Data[6].(string) == "1" { ncd.Confirm = true } else { ncd.Confirm = false } - return ncd, nil + return &ncd, nil } func (mx *MaX) SetToKey() ([]interface{}, error) { diff --git a/tunas b/tunas index 2aa157c..634557f 100755 Binary files a/tunas and b/tunas differ