簡體   English   中英

幣安 OCO 訂單 -> MIN_NOTIONAL | python-binance

[英]Binance OCO Order -> MIN_NOTIONAL | python-binance

我正在嘗試為ETHUSDT創建 OCO 訂單

這是我創建的函數:

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")

這是電話:

buyPrice = 3803.57
stopLossValue = buyPrice * stopLoss
takeProfitValue = buyPrice * takeProfit
OcoOrder(symbol, "0.0028", takeProfitValue, stopLossValue)

我擁有的數量是 0.0028,這比 10USDT 多一點在此處輸入圖片說明

執行代碼后,我收到錯誤:

APIError(code=-1013): Filter failure: MIN_NOTIONAL

我檢查了該binance交換信息MIN_NOTINAL價值,它是10意味着我可以出售的最小數量為10 ETH或者換句話說38.000€?!?!?!

{
     "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 ETH 是不可能的

它的荒謬。 解決方法很簡單。

如果您想通過 API 執行 ETH 訂單,您必須使用 BTC。 否則,幣安真的希望您為每個訂單至少使用 38.000 歐元或 10 ETH,除 BTC 外,每對其他貨幣對。

最小符號以美元為單位,而不是硬幣的數量。 這個訂單一定剛剛處於被拒絕的那個級別的風口浪尖。 我試過你的代碼,它奏效了。 然后我以 0.0001 的增量縮小,並在接近 10 美元時出現最小符號錯誤。

這里要考慮的主要事情是您的止損,它也不能低於最小記號,因為您實際上是在下訂單 x 金額減去損失,這可能會讓您接管。 只需要多交易一點,給自己一個緩沖。

加油朋友!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM