types: add warning to the price type

This commit is contained in:
c9s 2024-08-17 14:15:43 +08:00
parent 1294cd95be
commit 0a83c26fd5
No known key found for this signature in database
GPG Key ID: 7385E7E464CB0A54

View File

@ -5,6 +5,7 @@ import (
"strings"
"github.com/pkg/errors"
log "github.com/sirupsen/logrus"
"github.com/c9s/bbgo/pkg/fixedpoint"
)
@ -70,6 +71,11 @@ func (p *PriceType) UnmarshalJSON(data []byte) error {
// GetPrice returns the price from the given ticker based on the price type
func (p PriceType) GetPrice(ticker *Ticker, side SideType) fixedpoint.Value {
switch p {
case PriceTypeBestBidOfferQueue5, PriceTypeBestBidOfferCounterParty5:
log.Warnf("price type %s is not supported with ticker", p)
}
price := ticker.Last
switch p {
@ -81,13 +87,13 @@ func (p PriceType) GetPrice(ticker *Ticker, side SideType) fixedpoint.Value {
price = ticker.Sell
case PriceTypeMid:
price = ticker.Buy.Add(ticker.Sell).Div(fixedpoint.NewFromInt(2))
case PriceTypeMaker, PriceTypeBestBidOfferQueue1:
case PriceTypeMaker, PriceTypeBestBidOfferQueue1, PriceTypeBestBidOfferQueue5:
if side == SideTypeBuy {
price = ticker.Buy
} else if side == SideTypeSell {
price = ticker.Sell
}
case PriceTypeTaker, PriceTypeBestBidOfferCounterParty1:
case PriceTypeTaker, PriceTypeBestBidOfferCounterParty1, PriceTypeBestBidOfferCounterParty5:
if side == SideTypeBuy {
price = ticker.Sell
} else if side == SideTypeSell {