Skip to content

Commit 46105f8

Browse files
committed
xmaker: add counter for split hedging bid > ask
1 parent c784db6 commit 46105f8

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

pkg/strategy/xmaker/metrics.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@ var directionAlignedWeight = prometheus.NewGaugeVec(
143143
[]string{"strategy_type", "strategy_id", "exchange", "symbol"},
144144
)
145145

146+
var splitHedgeBidHigherThanAskCounter = prometheus.NewCounterVec(
147+
prometheus.CounterOpts{
148+
Name: "xmaker_split_hedge_bid_higher_than_ask_total",
149+
Help: "The total number of times the split hedge bid price was higher than the ask price",
150+
},
151+
[]string{"strategy_type", "strategy_id", "exchange", "symbol"},
152+
)
153+
146154
func init() {
147155
prometheus.MustRegister(
148156
openOrderBidExposureInUsdMetrics,
@@ -166,5 +174,6 @@ func init() {
166174
divergenceD2,
167175
directionMean,
168176
directionAlignedWeight,
177+
splitHedgeBidHigherThanAskCounter,
169178
)
170179
}

pkg/strategy/xmaker/strategy.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,8 @@ type Strategy struct {
309309
directionMeanMetrics prometheus.Gauge
310310
alignedWeightMetrics prometheus.Gauge
311311

312+
splitHedgeBidHigherThanAskCounter prometheus.Counter
313+
312314
simpleHedgeMode bool
313315

314316
connectorManager *types.ConnectorManager
@@ -458,6 +460,7 @@ func (s *Strategy) Initialize() error {
458460
s.d2Metrics = divergenceD2.With(s.metricsLabels)
459461
s.directionMeanMetrics = directionMean.With(s.metricsLabels)
460462
s.alignedWeightMetrics = directionAlignedWeight.With(s.metricsLabels)
463+
s.splitHedgeBidHigherThanAskCounter = splitHedgeBidHigherThanAskCounter.With(s.metricsLabels)
461464

462465
if s.SignalReverseSideMargin != nil && s.SignalReverseSideMargin.Scale != nil {
463466
scale, err := s.SignalReverseSideMargin.Scale.Scale()
@@ -1015,6 +1018,7 @@ func (s *Strategy) updateQuote(ctx context.Context) error {
10151018
bestBidPrice, bestAskPrice, hasPrice = s.SplitHedge.GetBalanceWeightedQuotePrice()
10161019
if hasPrice && !bestBidPrice.IsZero() && !bestAskPrice.IsZero() {
10171020
if bestBidPrice.Compare(bestAskPrice) > 0 {
1021+
s.splitHedgeBidHigherThanAskCounter.Inc()
10181022
s.logger.Warnf("split hedge bid price %s is higher than ask price %s, adjust bid price by tick size %s",
10191023
bestBidPrice.String(), bestAskPrice.String(),
10201024
s.makerMarket.TickSize)

0 commit comments

Comments
 (0)