@@ -310,6 +310,8 @@ type Strategy struct {
310310 alignedWeightMetrics prometheus.Gauge
311311
312312 splitHedgeBidHigherThanAskCounter prometheus.Counter
313+ splitHedgeWeightedBidPrice prometheus.Gauge
314+ splitHedgeWeightedAskPrice prometheus.Gauge
313315
314316 simpleHedgeMode bool
315317
@@ -461,6 +463,8 @@ func (s *Strategy) Initialize() error {
461463 s .directionMeanMetrics = directionMean .With (s .metricsLabels )
462464 s .alignedWeightMetrics = directionAlignedWeight .With (s .metricsLabels )
463465 s .splitHedgeBidHigherThanAskCounter = splitHedgeBidHigherThanAskCounter .With (s .metricsLabels )
466+ s .splitHedgeWeightedBidPrice = splitHedgeWeightedBidPriceMetrics .With (s .metricsLabels )
467+ s .splitHedgeWeightedAskPrice = splitHedgeWeightedAskPriceMetrics .With (s .metricsLabels )
464468
465469 if s .SignalReverseSideMargin != nil && s .SignalReverseSideMargin .Scale != nil {
466470 scale , err := s .SignalReverseSideMargin .Scale .Scale ()
@@ -1017,6 +1021,9 @@ func (s *Strategy) updateQuote(ctx context.Context) error {
10171021 hasPrice := false
10181022 bestBidPrice , bestAskPrice , hasPrice = s .SplitHedge .GetBalanceWeightedQuotePrice ()
10191023 if hasPrice && ! bestBidPrice .IsZero () && ! bestAskPrice .IsZero () {
1024+ s .splitHedgeWeightedBidPrice .Set (bestBidPrice .Float64 ())
1025+ s .splitHedgeWeightedAskPrice .Set (bestAskPrice .Float64 ())
1026+
10201027 if bestBidPrice .Compare (bestAskPrice ) > 0 {
10211028 s .splitHedgeBidHigherThanAskCounter .Inc ()
10221029 s .logger .Warnf ("split hedge bid price %s is higher than ask price %s, adjust bid price by tick size %s" ,
0 commit comments