首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Binance命令-> MIN_NOTIONAL x python-binance

Binance命令-> MIN_NOTIONAL x python-binance
EN

Stack Overflow用户
提问于 2021-10-19 19:02:34
回答 1查看 2.7K关注 0票数 0

我试图为ETHUSDT创建一个OCO订单

这是我创建的函数:

代码语言:javascript
复制
def OcoOrder(symbol, bet, takeProfit, stopLoss):
    client.order_oco_sell(symbol=symbol,
                          quantity=str(bet),
                          price=str(round(takeProfit, 2)),
                          stopPrice=str(round(stopLoss, 2)),
                          stopLimitPrice =str(round(stopLoss, 2)),
                          stopLimitTimeInForce="GTC")

以下是呼叫:

代码语言:javascript
复制
buyPrice = 3803.57
stopLossValue = buyPrice * stopLoss
takeProfitValue = buyPrice * takeProfit
OcoOrder(symbol, "0.0028", takeProfitValue, stopLossValue)

我的数量是0.0028,比10 10USDT稍多一点。

在我执行代码后得到错误:

代码语言:javascript
复制
APIError(code=-1013): Filter failure: MIN_NOTIONAL

我检查了MIN_NOTINAL值的二进制交换信息,它是10。这意味着我可以出售的最小数量是10 ETH,换句话说,是38.000欧元?!

代码语言:javascript
复制
{
     "symbol":"ETHUSDT",
     "status":"TRADING",
     "baseAsset":"ETH",
     "baseAssetPrecision":8,
     "quoteAsset":"USDT",
     "quotePrecision":8,
     "quoteAssetPrecision":8,
     "baseCommissionPrecision":8,
     "quoteCommissionPrecision":8,
     "orderTypes":[
        "LIMIT",
        "LIMIT_MAKER",
        "MARKET",
        "STOP_LOSS_LIMIT",
        "TAKE_PROFIT_LIMIT"
     ],
     "icebergAllowed":true,
     "ocoAllowed":true,
     "quoteOrderQtyMarketAllowed":true,
     "isSpotTradingAllowed":true,
     "isMarginTradingAllowed":true,
     "filters":[
        {
           "filterType":"PRICE_FILTER",
           "minPrice":"0.01000000",
           "maxPrice":"1000000.00000000",
           "tickSize":"0.01000000"
        },
        {
           "filterType":"PERCENT_PRICE",
           "multiplierUp":"5",
           "multiplierDown":"0.2",
           "avgPriceMins":5
        },
        {
           "filterType":"LOT_SIZE",
           "minQty":"0.00010000",
           "maxQty":"9000.00000000",
           "stepSize":"0.00010000"
        },
        {
           "filterType":"MIN_NOTIONAL",
           "minNotional":"10.00000000",
           "applyToMarket":true,
           "avgPriceMins":5
        },
        {
           "filterType":"ICEBERG_PARTS",
           "limit":10
        },
        {
           "filterType":"MARKET_LOT_SIZE",
           "minQty":"0.00000000",
           "maxQty":"1459.84229583",
           "stepSize":"0.00000000"
        },
        {
           "filterType":"MAX_NUM_ORDERS",
           "maxNumOrders":200
        },
        {
           "filterType":"MAX_NUM_ALGO_ORDERS",
           "maxNumAlgoOrders":5
        }
     ],
     "permissions":[
        "SPOT",
        "MARGIN"
     ]
  },

如果我交换它,并使用USDT值作为我得到的Account has insufficient balance for requested action.的数量,因为我显然没有10个ETH

,我在监督什么吗?最小数量为10 是不可能的

EN

回答 1

Stack Overflow用户

发布于 2021-10-20 05:42:02

最小符号是以美元来衡量的,而不是以硬币的数量来衡量的。这个订单一定刚刚达到了被拒绝的程度。我试过你的密码,结果成功了。然后,我缩小了.0001的增量,当我接近10美元时,我得到了最小的标记错误。

这里主要要考虑的是你的止损,它也不能低于最小值,因为你实际上是在按x值减去损失的顺序,这很可能接管了你。只是需要多做一点交易,给自己一个缓冲。

干杯朋友!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69636376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档