bbgo_origin/pkg/indicator/inf.go
2022-07-14 10:33:10 +08:00

28 lines
826 B
Go

package indicator
import "github.com/c9s/bbgo/pkg/types"
type KLineWindowUpdater interface {
OnKLineWindowUpdate(func(interval types.Interval, window types.KLineWindow))
}
type KLineClosedEmitter interface {
OnKLineClosed(func(k types.KLine))
}
// KLinePusher provides an interface for API user to push kline value to the indicator.
// The indicator implements its own way to calculate the value from the given kline object.
type KLinePusher interface {
PushK(k types.KLine)
}
// KLineLoader provides an interface for API user to load history klines to the indicator.
// The indicator implements its own way to calculate the values from the given history kline array.
type KLineLoader interface {
LoadK(allKLines []types.KLine)
}
type KLineCalculateUpdater interface {
CalculateAndUpdate(allKLines []types.KLine)
}