add DisableMarketDataStore option

This commit is contained in:
c9s 2023-12-26 10:53:18 +08:00
parent 7f8a331373
commit 8878005417
No known key found for this signature in database
GPG Key ID: 7385E7E464CB0A54
2 changed files with 11 additions and 7 deletions

View File

@ -335,6 +335,9 @@ type EnvironmentConfig struct {
DisableStartupBalanceQuery bool `json:"disableStartupBalanceQuery"` DisableStartupBalanceQuery bool `json:"disableStartupBalanceQuery"`
DisableSessionTradeBuffer bool `json:"disableSessionTradeBuffer"` DisableSessionTradeBuffer bool `json:"disableSessionTradeBuffer"`
DisableMarketDataStore bool `json:"disableMarketDataStore"`
MaxSessionTradeBufferSize int `json:"maxSessionTradeBufferSize"` MaxSessionTradeBufferSize int `json:"maxSessionTradeBufferSize"`
} }

View File

@ -405,6 +405,7 @@ func (session *ExchangeSession) initSymbol(ctx context.Context, environ *Environ
return fmt.Errorf("market %s is not defined", symbol) return fmt.Errorf("market %s is not defined", symbol)
} }
disableMarketDataStore := environ.environmentConfig != nil && environ.environmentConfig.DisableMarketDataStore
disableSessionTradeBuffer := environ.environmentConfig != nil && environ.environmentConfig.DisableSessionTradeBuffer disableSessionTradeBuffer := environ.environmentConfig != nil && environ.environmentConfig.DisableSessionTradeBuffer
maxSessionTradeBufferSize := 0 maxSessionTradeBufferSize := 0
if environ.environmentConfig != nil && environ.environmentConfig.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) orderStore.BindStream(session.UserDataStream)
session.orderStores[symbol] = orderStore session.orderStores[symbol] = orderStore
if _, ok := session.marketDataStores[symbol]; !ok {
marketDataStore := NewMarketDataStore(symbol) marketDataStore := NewMarketDataStore(symbol)
if !disableMarketDataStore {
if _, ok := session.marketDataStores[symbol]; !ok {
marketDataStore.BindStream(session.MarketDataStream) marketDataStore.BindStream(session.MarketDataStream)
session.marketDataStores[symbol] = marketDataStore
} }
}
marketDataStore := session.marketDataStores[symbol] session.marketDataStores[symbol] = marketDataStore
if _, ok := session.standardIndicatorSets[symbol]; !ok { if _, ok := session.standardIndicatorSets[symbol]; !ok {
standardIndicatorSet := NewStandardIndicatorSet(symbol, session.MarketDataStream, marketDataStore) standardIndicatorSet := NewStandardIndicatorSet(symbol, session.MarketDataStream, marketDataStore)