mirror of
https://github.com/injoyai/tdx.git
synced 2025-11-26 21:25:35 +08:00
增加枚举
This commit is contained in:
@@ -26,33 +26,32 @@ const (
|
|||||||
Month = "month"
|
Month = "month"
|
||||||
Quarter = "quarter"
|
Quarter = "quarter"
|
||||||
Year = "year"
|
Year = "year"
|
||||||
|
|
||||||
|
tableMinute = "MinuteKline"
|
||||||
|
table5Minute = "Minute5Kline"
|
||||||
|
table15Minute = "Minute15Kline"
|
||||||
|
table30Minute = "Minute30Kline"
|
||||||
|
tableHour = "HourKline"
|
||||||
|
tableDay = "DayKline"
|
||||||
|
tableWeek = "WeekKline"
|
||||||
|
tableMonth = "MonthKline"
|
||||||
|
tableQuarter = "QuarterKline"
|
||||||
|
tableYear = "YearKline"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
AllKlineType = []string{Minute, Minute5, Minute15, Minute30, Hour, Day, Week, Month, Quarter, Year}
|
AllKlineType = []string{Minute, Minute5, Minute15, Minute30, Hour, Day, Week, Month, Quarter, Year}
|
||||||
KlineTableMap = map[string]*KlineTable{
|
KlineTableMap = map[string]*KlineTable{
|
||||||
Minute: NewKlineTable("MinuteKline", func(c *tdx.Client) KlineHandler { return c.GetKlineMinuteUntil }),
|
Minute: NewKlineTable(tableMinute, func(c *tdx.Client) KlineHandler { return c.GetKlineMinuteUntil }),
|
||||||
Minute5: NewKlineTable("Minute5Kline", func(c *tdx.Client) KlineHandler { return c.GetKline5MinuteUntil }),
|
Minute5: NewKlineTable(table5Minute, func(c *tdx.Client) KlineHandler { return c.GetKline5MinuteUntil }),
|
||||||
Minute15: NewKlineTable("Minute15Kline", func(c *tdx.Client) KlineHandler { return c.GetKline15MinuteUntil }),
|
Minute15: NewKlineTable(table15Minute, func(c *tdx.Client) KlineHandler { return c.GetKline15MinuteUntil }),
|
||||||
Minute30: NewKlineTable("Minute30Kline", func(c *tdx.Client) KlineHandler { return c.GetKline30MinuteUntil }),
|
Minute30: NewKlineTable(table30Minute, func(c *tdx.Client) KlineHandler { return c.GetKline30MinuteUntil }),
|
||||||
Hour: NewKlineTable("HourKline", func(c *tdx.Client) KlineHandler { return c.GetKlineHourUntil }),
|
Hour: NewKlineTable(tableHour, func(c *tdx.Client) KlineHandler { return c.GetKlineHourUntil }),
|
||||||
Day: NewKlineTable("DayKline", func(c *tdx.Client) KlineHandler { return c.GetKlineDayUntil }),
|
Day: NewKlineTable(tableDay, func(c *tdx.Client) KlineHandler { return c.GetKlineDayUntil }),
|
||||||
Week: NewKlineTable("WeekKline", func(c *tdx.Client) KlineHandler { return c.GetKlineWeekUntil }),
|
Week: NewKlineTable(tableWeek, func(c *tdx.Client) KlineHandler { return c.GetKlineWeekUntil }),
|
||||||
Month: NewKlineTable("MonthKline", func(c *tdx.Client) KlineHandler { return c.GetKlineMonthUntil }),
|
Month: NewKlineTable(tableMonth, func(c *tdx.Client) KlineHandler { return c.GetKlineMonthUntil }),
|
||||||
Quarter: NewKlineTable("QuarterKline", func(c *tdx.Client) KlineHandler { return c.GetKlineQuarterUntil }),
|
Quarter: NewKlineTable(tableQuarter, func(c *tdx.Client) KlineHandler { return c.GetKlineQuarterUntil }),
|
||||||
Year: NewKlineTable("YearKline", func(c *tdx.Client) KlineHandler { return c.GetKlineYearUntil }),
|
Year: NewKlineTable(tableYear, func(c *tdx.Client) KlineHandler { return c.GetKlineYearUntil }),
|
||||||
}
|
|
||||||
AllKlineTables = []string{
|
|
||||||
"MinuteKline",
|
|
||||||
"Minute5Kline",
|
|
||||||
"Minute15Kline",
|
|
||||||
"Minute30Kline",
|
|
||||||
"HourKline",
|
|
||||||
"DayKline",
|
|
||||||
"WeekKline",
|
|
||||||
"MonthKline",
|
|
||||||
"QuarterKline",
|
|
||||||
"YearKline",
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -69,6 +68,12 @@ func NewPullKline(cfg PullKlineConfig) *PullKline {
|
|||||||
for _, v := range cfg.Tables {
|
for _, v := range cfg.Tables {
|
||||||
_tables = append(_tables, KlineTableMap[v])
|
_tables = append(_tables, KlineTableMap[v])
|
||||||
}
|
}
|
||||||
|
if cfg.Limit <= 0 {
|
||||||
|
cfg.Limit = 1
|
||||||
|
}
|
||||||
|
if len(cfg.Dir) == 0 {
|
||||||
|
cfg.Dir = filepath.Join(tdx.DefaultDatabaseDir, "kline")
|
||||||
|
}
|
||||||
return &PullKline{
|
return &PullKline{
|
||||||
tables: _tables,
|
tables: _tables,
|
||||||
Config: cfg,
|
Config: cfg,
|
||||||
@@ -84,6 +89,21 @@ func (this *PullKline) Name() string {
|
|||||||
return "拉取k线数据"
|
return "拉取k线数据"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *PullKline) DayKlines(code string) (Klines, error) {
|
||||||
|
//连接数据库
|
||||||
|
db, err := xorm.NewEngine("sqlite", filepath.Join(this.Config.Dir, code+".db"))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
db.SetMapper(core.SameMapper{})
|
||||||
|
db.DB().SetMaxOpenConns(1)
|
||||||
|
defer db.Close()
|
||||||
|
|
||||||
|
data := Klines{}
|
||||||
|
err = db.Table(tableDay).Asc("date").Find(&data)
|
||||||
|
return data, err
|
||||||
|
}
|
||||||
|
|
||||||
func (this *PullKline) Run(ctx context.Context, m *tdx.Manage) error {
|
func (this *PullKline) Run(ctx context.Context, m *tdx.Manage) error {
|
||||||
limit := chans.NewWaitLimit(uint(this.Config.Limit))
|
limit := chans.NewWaitLimit(uint(this.Config.Limit))
|
||||||
|
|
||||||
@@ -112,6 +132,7 @@ func (this *PullKline) Run(ctx context.Context, m *tdx.Manage) error {
|
|||||||
logs.Err(err)
|
logs.Err(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
defer db.Close()
|
||||||
db.SetMapper(core.SameMapper{})
|
db.SetMapper(core.SameMapper{})
|
||||||
db.DB().SetMaxOpenConns(1)
|
db.DB().SetMaxOpenConns(1)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user