Merge pull request #1372 from bailantaotao/edwin/fix-precision

FIX: [bybit][kucoin] fix negative volume, price precision
This commit is contained in:
c9s 2023-10-28 08:09:51 +08:00 committed by GitHub
commit dcd837f0f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 9 deletions

View File

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

View File

@ -2,7 +2,6 @@ package bybit
import ( import (
"fmt" "fmt"
"math"
"strconv" "strconv"
"testing" "testing"
"time" "time"
@ -67,8 +66,8 @@ func TestToGlobalMarket(t *testing.T) {
exp := types.Market{ exp := types.Market{
Symbol: inst.Symbol, Symbol: inst.Symbol,
LocalSymbol: inst.Symbol, LocalSymbol: inst.Symbol,
PricePrecision: int(math.Log10(inst.LotSizeFilter.QuotePrecision.Float64())), PricePrecision: 8,
VolumePrecision: int(math.Log10(inst.LotSizeFilter.BasePrecision.Float64())), VolumePrecision: 6,
QuoteCurrency: inst.QuoteCoin, QuoteCurrency: inst.QuoteCoin,
BaseCurrency: inst.BaseCoin, BaseCurrency: inst.BaseCoin,
MinNotional: inst.LotSizeFilter.MinOrderAmt, MinNotional: inst.LotSizeFilter.MinOrderAmt,

View File

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