Back to FAQ index page

Binance: “Precision is over the maximum defined for this asset.”


This error means that your strategy generate Order Signals with Order Size or Order Price with Precision higher that supported by the Broker. For example you strategy trying to buy 0.00200005 units of the BTCUSDT contract, while Binance support only 0.001 Precision. We need to round Quantity down to 0.002. Or you are trying to make LIMIT order with BTCUSDT Order Price of 30242.850000000003 while Supported Min Price StepSize is only 0.01. We need to round price down to 30242.85 You can find corresponding Min, Max and Min StepSize for Quantity and Price parameters supported by Binance on those pages:
SPOT Symbols
MARGIN Symbols
FUTURES Symbols

Solution (Easy)

Please make sure that you are using Auto-Rounding parameter in your Alert message

"auto_rounding": "Yes",

Solution Options (Difficult – Trading View Interface):

You can configure Order size in the TradingView Strategy Properties window. Please choose the Order Size value which will be used in each BUY/SELL trade.

IMPORTANT: Pleas do not forget to recreate your Alert after any changes in the Strategy.

Solution Options (PineScript)

  //Round QTY precision to fit Binance precision
  position_size = (math.ceil((strategy.equity / close) * 1000))/1000
  //10 - for Quantity step 0.1, 100 for 0.01,  1000 for 0.001 and etc.

  //Round Limit Price precision to fit Binance precision. Only for LIMIT orders.
  limit_price = (math.ceil(close * 1000))/1000
  //10 - for Price step 0.1, 100 for 0.01,  1000 for 0.001 and etc.
  
  //Use custom position size and limit order price to open your trades
  strategy.order("Long", strategy.long, qty = position_size, limit = limit_price)
  strategy.order("Short", strategy.short, qty = position_size, limit = limit_price)