From 8d01c97240dcc052e274a3ebc161955b12830b37 Mon Sep 17 00:00:00 2001 From: c9s Date: Thu, 26 Aug 2021 11:46:02 +0800 Subject: [PATCH] fix cyclic import issue --- pkg/bbgo/moving_average_settings.go | 3 +-- pkg/strategy/schedule/strategy.go | 8 ++------ pkg/types/indicator.go | 6 ++++++ 3 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 pkg/types/indicator.go diff --git a/pkg/bbgo/moving_average_settings.go b/pkg/bbgo/moving_average_settings.go index 2b1f209bb..87091dd0c 100644 --- a/pkg/bbgo/moving_average_settings.go +++ b/pkg/bbgo/moving_average_settings.go @@ -3,7 +3,6 @@ package bbgo import ( "fmt" "github.com/c9s/bbgo/pkg/fixedpoint" - "github.com/c9s/bbgo/pkg/strategy/schedule" "github.com/c9s/bbgo/pkg/types" ) @@ -29,7 +28,7 @@ func (settings MovingAverageSettings) IntervalWindow() types.IntervalWindow { } } -func (settings *MovingAverageSettings) Indicator(indicatorSet *StandardIndicatorSet) (inc schedule.Float64Indicator, err error) { +func (settings *MovingAverageSettings) Indicator(indicatorSet *StandardIndicatorSet) (inc types.Float64Indicator, err error) { var iw = settings.IntervalWindow() switch settings.Type { diff --git a/pkg/strategy/schedule/strategy.go b/pkg/strategy/schedule/strategy.go index 0ba01f1c8..d6c5ebaff 100644 --- a/pkg/strategy/schedule/strategy.go +++ b/pkg/strategy/schedule/strategy.go @@ -16,10 +16,6 @@ func init() { bbgo.RegisterStrategy(ID, &Strategy{}) } -// Float64Indicator is the indicators (SMA and EWMA) that we want to use are returning float64 data. -type Float64Indicator interface { - Last() float64 -} type Strategy struct { Market types.Market @@ -76,8 +72,8 @@ func (s *Strategy) Run(ctx context.Context, orderExecutor bbgo.OrderExecutor, se return errors.New("StandardIndicatorSet can not be nil, injection failed?") } - var belowMA Float64Indicator - var aboveMA Float64Indicator + var belowMA types.Float64Indicator + var aboveMA types.Float64Indicator var err error if s.BelowMovingAverage != nil { belowMA, err = s.BelowMovingAverage.Indicator(s.StandardIndicatorSet) diff --git a/pkg/types/indicator.go b/pkg/types/indicator.go new file mode 100644 index 000000000..dd37c228d --- /dev/null +++ b/pkg/types/indicator.go @@ -0,0 +1,6 @@ +package types + +// Float64Indicator is the indicators (SMA and EWMA) that we want to use are returning float64 data. +type Float64Indicator interface { + Last() float64 +}