mirror of
https://github.com/c9s/bbgo.git
synced 2024-11-23 23:35:14 +00:00
all: add common.NewStrategy helper
This commit is contained in:
parent
80b740736c
commit
3ed5f00bcc
|
@ -36,6 +36,15 @@ type Strategy struct {
|
|||
RiskController
|
||||
}
|
||||
|
||||
func NewStrategy(ctx context.Context, environ *bbgo.Environment, session *bbgo.ExchangeSession, market types.Market, strategyID, instanceID string) *Strategy {
|
||||
s := &Strategy{
|
||||
Environ: environ,
|
||||
Session: session,
|
||||
}
|
||||
s.Initialize(ctx, environ, session, market, strategyID, instanceID)
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *Strategy) Initialize(ctx context.Context, environ *bbgo.Environment, session *bbgo.ExchangeSession, market types.Market, strategyID, instanceID string) {
|
||||
s.parent = ctx
|
||||
s.ctx, s.cancel = context.WithCancel(ctx)
|
||||
|
|
|
@ -49,8 +49,7 @@ func (s *Strategy) Subscribe(session *bbgo.ExchangeSession) {
|
|||
}
|
||||
|
||||
func (s *Strategy) Run(ctx context.Context, orderExecutor bbgo.OrderExecutor, session *bbgo.ExchangeSession) error {
|
||||
s.Strategy = &common.Strategy{}
|
||||
s.Strategy.Initialize(ctx, s.Environment, session, s.Market, ID, s.InstanceID())
|
||||
s.Strategy = common.NewStrategy(ctx, s.Environment, session, s.Market, ID, s.InstanceID())
|
||||
|
||||
fastRsi := session.Indicators(s.Symbol).RSI(types.IntervalWindow{Interval: s.Interval, Window: s.FastWindow})
|
||||
slowRsi := session.Indicators(s.Symbol).RSI(types.IntervalWindow{Interval: s.Interval, Window: s.SlowWindow})
|
||||
|
|
|
@ -100,8 +100,7 @@ func (s *Strategy) Subscribe(session *bbgo.ExchangeSession) {
|
|||
}
|
||||
|
||||
func (s *Strategy) Run(ctx context.Context, orderExecutor bbgo.OrderExecutor, session *bbgo.ExchangeSession) error {
|
||||
s.Strategy = &common.Strategy{}
|
||||
s.Strategy.Initialize(ctx, s.Environment, session, s.Market, ID, s.InstanceID())
|
||||
s.Strategy = common.NewStrategy(ctx, s.Environment, session, s.Market, ID, s.InstanceID())
|
||||
|
||||
s.book = types.NewStreamBook(s.Symbol)
|
||||
s.book.BindStream(session.UserDataStream)
|
||||
|
|
Loading…
Reference in New Issue
Block a user