pkg/exchange: use NumFractionalDigits instead of math.Log10(Float64) due to precision problem

This commit is contained in:
Edwin 2023-10-27 15:28:35 +08:00
parent 2a85bbebf0
commit ba7e26c800
2 changed files with 4 additions and 6 deletions

View File

@ -2,7 +2,6 @@ package bybit
import (
"fmt"
"math"
"strconv"
"time"
@ -16,8 +15,8 @@ func toGlobalMarket(m bybitapi.Instrument) types.Market {
return types.Market{
Symbol: m.Symbol,
LocalSymbol: m.Symbol,
PricePrecision: -int(math.Log10(m.LotSizeFilter.QuotePrecision.Float64())),
VolumePrecision: -int(math.Log10(m.LotSizeFilter.BasePrecision.Float64())),
PricePrecision: m.LotSizeFilter.QuotePrecision.NumFractionalDigits(),
VolumePrecision: m.LotSizeFilter.BasePrecision.NumFractionalDigits(),
QuoteCurrency: m.QuoteCoin,
BaseCurrency: m.BaseCoin,
MinNotional: m.LotSizeFilter.MinOrderAmt,

View File

@ -3,7 +3,6 @@ package kucoin
import (
"fmt"
"hash/fnv"
"math"
"strings"
"time"
@ -39,8 +38,8 @@ func toGlobalMarket(m kucoinapi.Symbol) types.Market {
return types.Market{
Symbol: symbol,
LocalSymbol: m.Symbol,
PricePrecision: -int(math.Log10(m.PriceIncrement.Float64())), // convert 0.0001 to 4
VolumePrecision: -int(math.Log10(m.BaseIncrement.Float64())),
PricePrecision: m.PriceIncrement.NumFractionalDigits(), // convert 0.0001 to 4
VolumePrecision: m.BaseIncrement.NumFractionalDigits(),
QuoteCurrency: m.QuoteCurrency,
BaseCurrency: m.BaseCurrency,
MinNotional: m.QuoteMinSize,