From 3ba16215901b74480b762068ba4e8274f3aa4055 Mon Sep 17 00:00:00 2001 From: c9s Date: Wed, 20 Dec 2023 22:28:20 +0800 Subject: [PATCH] xdepthmaker: simplify covered handler registration --- pkg/strategy/xdepthmaker/strategy.go | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/pkg/strategy/xdepthmaker/strategy.go b/pkg/strategy/xdepthmaker/strategy.go index 4ff76b85df..26c24ebea1 100644 --- a/pkg/strategy/xdepthmaker/strategy.go +++ b/pkg/strategy/xdepthmaker/strategy.go @@ -123,7 +123,7 @@ func (s *CrossExchangeMarketMakingStrategy) Initialize( // bbgo.Sync(ctx, s) }) - coveredFunc := func(trade types.Trade, profit, netProfit fixedpoint.Value) { + s.HedgeOrderExecutor.TradeCollector().OnTrade(func(trade types.Trade, profit, netProfit fixedpoint.Value) { c := trade.PositionChange() // sync covered position @@ -133,15 +133,12 @@ func (s *CrossExchangeMarketMakingStrategy) Initialize( // buy trade -> positive delta -> // 1) short position -> reduce short position // 2) short position -> increase short position - if trade.Exchange == s.hedgeSession.ExchangeName { - // TODO: make this atomic - s.mu.Lock() - s.CoveredPosition = s.CoveredPosition.Add(c) - s.mu.Unlock() - } - } - s.MakerOrderExecutor.TradeCollector().OnTrade(coveredFunc) - s.HedgeOrderExecutor.TradeCollector().OnTrade(coveredFunc) + + // TODO: make this atomic + s.mu.Lock() + s.CoveredPosition = s.CoveredPosition.Add(c) + s.mu.Unlock() + }) return nil }