mirror of
https://github.com/c9s/bbgo.git
synced 2024-11-13 02:23:51 +00:00
Merge pull request #850 from COLDTURNIP/feature/optimizer_predict_grid_number
optimizer: calculate total number of grids before testing
This commit is contained in:
commit
a32ef8ca9a
|
@ -195,10 +195,7 @@ func (o *GridOptimizer) Run(executor Executor, configJson []byte) (map[string][]
|
||||||
|
|
||||||
var taskC = make(chan BacktestTask, 10000)
|
var taskC = make(chan BacktestTask, 10000)
|
||||||
|
|
||||||
var bar = pb.Full.New(cap(taskC))
|
var taskCnt = 0
|
||||||
bar.SetTemplateString(`{{ string . "log" | green}} | {{counters . }} {{bar . }} {{percent . }} {{etime . }} {{rtime . "ETA %s"}}`)
|
|
||||||
|
|
||||||
var taskCnt int64 = 0
|
|
||||||
var app = func(configJson []byte, next func(configJson []byte) error) error {
|
var app = func(configJson []byte, next func(configJson []byte) error) error {
|
||||||
var labels = copyLabels(o.ParamLabels)
|
var labels = copyLabels(o.ParamLabels)
|
||||||
var params = copyParams(o.CurrentParams)
|
var params = copyParams(o.CurrentParams)
|
||||||
|
@ -207,8 +204,10 @@ func (o *GridOptimizer) Run(executor Executor, configJson []byte) (map[string][]
|
||||||
Params: params,
|
Params: params,
|
||||||
Labels: labels,
|
Labels: labels,
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
var appCnt = func(configJson []byte, next func(configJson []byte) error) error {
|
||||||
taskCnt++
|
taskCnt++
|
||||||
bar.SetTotal(taskCnt)
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -217,15 +216,28 @@ func (o *GridOptimizer) Run(executor Executor, configJson []byte) (map[string][]
|
||||||
var wrapper = func(configJson []byte) error {
|
var wrapper = func(configJson []byte) error {
|
||||||
return app(configJson, nil)
|
return app(configJson, nil)
|
||||||
}
|
}
|
||||||
|
var wrapperCnt = func(configJson []byte) error {
|
||||||
|
return appCnt(configJson, nil)
|
||||||
|
}
|
||||||
|
|
||||||
for i := len(ops) - 1; i >= 0; i-- {
|
for i := len(ops) - 1; i >= 0; i-- {
|
||||||
cur := ops[i]
|
cur := ops[i]
|
||||||
inner := wrapper
|
inner := wrapper
|
||||||
|
innerCnt := wrapperCnt
|
||||||
wrapper = func(configJson []byte) error {
|
wrapper = func(configJson []byte) error {
|
||||||
return cur(configJson, inner)
|
return cur(configJson, inner)
|
||||||
}
|
}
|
||||||
|
wrapperCnt = func(configJson []byte) error {
|
||||||
|
return cur(configJson, innerCnt)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := wrapperCnt(configJson); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
var bar = pb.Full.New(taskCnt)
|
||||||
|
bar.SetTemplateString(`{{ string . "log" | green}} | {{counters . }} {{bar . }} {{percent . }} {{etime . }} {{rtime . "ETA %s"}}`)
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
var taskGenErr error
|
var taskGenErr error
|
||||||
go func() {
|
go func() {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user