diff --git a/pkg/bbgo/config.go b/pkg/bbgo/config.go index f892f2138..1121717b9 100644 --- a/pkg/bbgo/config.go +++ b/pkg/bbgo/config.go @@ -335,7 +335,10 @@ type EnvironmentConfig struct { DisableStartupBalanceQuery bool `json:"disableStartupBalanceQuery"` DisableSessionTradeBuffer bool `json:"disableSessionTradeBuffer"` - MaxSessionTradeBufferSize int `json:"maxSessionTradeBufferSize"` + + DisableMarketDataStore bool `json:"disableMarketDataStore"` + + MaxSessionTradeBufferSize int `json:"maxSessionTradeBufferSize"` } type Config struct { diff --git a/pkg/bbgo/session.go b/pkg/bbgo/session.go index 4cfa57c40..b61c6f5ed 100644 --- a/pkg/bbgo/session.go +++ b/pkg/bbgo/session.go @@ -405,6 +405,7 @@ func (session *ExchangeSession) initSymbol(ctx context.Context, environ *Environ return fmt.Errorf("market %s is not defined", symbol) } + disableMarketDataStore := environ.environmentConfig != nil && environ.environmentConfig.DisableMarketDataStore disableSessionTradeBuffer := environ.environmentConfig != nil && environ.environmentConfig.DisableSessionTradeBuffer maxSessionTradeBufferSize := 0 if environ.environmentConfig != nil && environ.environmentConfig.MaxSessionTradeBufferSize > 0 { @@ -441,13 +442,13 @@ func (session *ExchangeSession) initSymbol(ctx context.Context, environ *Environ orderStore.BindStream(session.UserDataStream) session.orderStores[symbol] = orderStore - if _, ok := session.marketDataStores[symbol]; !ok { - marketDataStore := NewMarketDataStore(symbol) - marketDataStore.BindStream(session.MarketDataStream) - session.marketDataStores[symbol] = marketDataStore + marketDataStore := NewMarketDataStore(symbol) + if !disableMarketDataStore { + if _, ok := session.marketDataStores[symbol]; !ok { + marketDataStore.BindStream(session.MarketDataStream) + } } - - marketDataStore := session.marketDataStores[symbol] + session.marketDataStores[symbol] = marketDataStore if _, ok := session.standardIndicatorSets[symbol]; !ok { standardIndicatorSet := NewStandardIndicatorSet(symbol, session.MarketDataStream, marketDataStore)