Binance API:状态:400,错误代码:-1013,错误消息:过滤器失败:PRICE_FILTER
Binance API: status: 400, error code: -1013, error message: Filter failure: PRICE_FILTER
status: 400, error code: -1013, error message: Filter failure: PRICE_FILTER
我正在尝试创建一个新订单来卖出我账户上的所有 SCRT
,但我不知道是什么问题。
SCRTBUSD
的过滤器是:
{'filterType': 'PRICE_FILTER', 'minPrice': '0.00100000', 'maxPrice': '1000.00000000', 'tickSize': '0.00100000'}
我使用的代码:
client = Spot(key=key, secret=secret)
account = client.account()
for asset in account['balances']:
if asset['asset'] == 'SCRT':
quantity = asset['free']
break
# price = client.ticker_price('SCRTBUSD')['price']
price = client.avg_price('SCRTBUSD')['price']
params = {
"symbol": 'SCRTBUSD',
"side": "SELL",
"type": "LIMIT",
"timeInForce": "GTC",
"quantity": quantity,
"price": round(float(price) * float(quantity), 8)
}
try:
response = client.new_order(**params)
except ClientError as error:
print(f"Found error. status: {error.status_code}, error code: {error.error_code}, error message: {error.error_message}")
最终价格(round(float(price) * float(quantity), 8)
)为30.68230251
。
我还认为,也许“价格”是指 1 BUSD
的价格,我输入了 "price": float(price)
,但我遇到了同样的错误。
avg_price 和 ticker_price 我都试过了。关于如何设置合适的价格有什么想法吗?
tickSize
对于 SCRTBUSD
是:0.001.
因此,您必须将数量四舍五入到下一个 0.001。例如:
round(30.68230251, 3)
有关 tickSize
的更多信息,请查看 Binance API 文档中的 exchangeInfo。
status: 400, error code: -1013, error message: Filter failure: PRICE_FILTER
我正在尝试创建一个新订单来卖出我账户上的所有 SCRT
,但我不知道是什么问题。
SCRTBUSD
的过滤器是:
{'filterType': 'PRICE_FILTER', 'minPrice': '0.00100000', 'maxPrice': '1000.00000000', 'tickSize': '0.00100000'}
我使用的代码:
client = Spot(key=key, secret=secret)
account = client.account()
for asset in account['balances']:
if asset['asset'] == 'SCRT':
quantity = asset['free']
break
# price = client.ticker_price('SCRTBUSD')['price']
price = client.avg_price('SCRTBUSD')['price']
params = {
"symbol": 'SCRTBUSD',
"side": "SELL",
"type": "LIMIT",
"timeInForce": "GTC",
"quantity": quantity,
"price": round(float(price) * float(quantity), 8)
}
try:
response = client.new_order(**params)
except ClientError as error:
print(f"Found error. status: {error.status_code}, error code: {error.error_code}, error message: {error.error_message}")
最终价格(round(float(price) * float(quantity), 8)
)为30.68230251
。
我还认为,也许“价格”是指 1 BUSD
的价格,我输入了 "price": float(price)
,但我遇到了同样的错误。
avg_price 和 ticker_price 我都试过了。关于如何设置合适的价格有什么想法吗?
tickSize
对于 SCRTBUSD
是:0.001.
因此,您必须将数量四舍五入到下一个 0.001。例如:
round(30.68230251, 3)
有关 tickSize
的更多信息,请查看 Binance API 文档中的 exchangeInfo。