Type/to search
23
Follow
13
Followers
Problème d'API de commandes par lots Binance Futures
Help
Created 2020-05-11 19:35:46  
 12
 2351

Le débogage peut être effectué en utilisant les outils de débogage.

J'ai essayé de passer des commandes en utilisant l'API des contrats batchOrders, mais sans succès.

La construction de l'url en fonction des discussions recherchées ci-dessous échoue toujours

https://github.com/ccxt/ccxt/issues/6805


function main() { exchange.SetContractType('swap') var makeOrders = [ {"symbol":"BTCUSDT","side":"BUY","type":"MARKET","quantity":0.002}, {"symbol":"LTCUSDT","side":"BUY","type":"MARKET","quantity":0.002} ] params = [] for (var i = 0; i < makeOrders.length; i++) {params.push(encodeURI(JSON.stringify(makeOrders[i])))} params = "batchOrders=["+params.join(",")+"]" Log(params) var allOrders = exchange.IO('api', 'POST', '/fapi/v1/batchOrders',params); Log(allOrders) }

Astuce: renseignements[{"code":400,"msg":null},{"code":400,"msg":null}]

L'échec est toujours le même, comme indiqué sur https://www.fmz.com/api


function main() { exchange.SetContractType('swap') var makeOrders = { "batchOrders":[ {"symbol":"BTCUSDT", "side":"BUY" , "positionSide":"LONG" , "type":"MARKET", "quantity":0.001}, {"symbol":"BTCUSDT","side":"SELL","positionSide":"SHORT","type":"MARKET","quantity":0.001} ] } var allOrders = exchange.IO('api', 'POST', '/fapi/v1/batchOrders',"",JSON.stringify(makeOrders)); Log(allOrders) }

Il s'agit d'une erreur de Futures_OP 4: 400: {"timestamp":1589196850717, "path":"/fapi/v1/batchOrders","msg":"System error"}

Quelqu'un a posé des questions sur l'API des contrats batchOrders et sur la façon de construire des paramètres

Merci beaucoup.

Related Recommendations
Comment
All comments (12)

    /fapi/v1/order 使用 传raw参数 也失败,但是使用 params方式正常

    function main() {
    exchange.SetContractType('swap')
    var makeOrders = {symbol:'BTCUSDT',side:'BUY',type:'MARKET',quantity:0.001}
    params = []
    var allOrders = exchange.IO('api', 'POST', '/fapi/v1/order',"",JSON.stringify(makeOrders));
    Log(allOrders)
    }


    提示 Futures_Binance 错误 Futures_OP 4: 400: {"timestamp":1589203472728,"path":"/fapi/v1/order","msg":"System error"}

    6 years ago

    仔细看币安的文档,参数没传全。

    exchange.IO("api", "POST","/fapi/v1/order","symbol="+symbol+"USDT&side="+side+"&type=LIMIT&timeInForce=GTC&quantity="+amount+"&price="+price+"&timestamp="+Date.now())
    6 years ago

    我用的MARKET,参数应该是够了,用传params方式是正常的(就是你的代码),但是用 传raw参数 就失败
    exchange.IO('api', 'POST', '/fapi/v1/order',"",JSON.stringify(makeOrders));

    6 years ago

    确实还没有升级,今天应该可以更新上

    6 years ago

    赞赞赞

    6 years ago

    已经升级了,下载最新的托管者使用即可,调用方式例子:

    function main() { /* 批量下单 var obj = { "batchOrders": [{ "symbol": "BTCUSDT", "side": "BUY", "positionSide": "LONG", "type": "LIMIT", "quantity": "0.001", "price": "8000", "timeInForce": "GTC", }, { "symbol": "BTCUSDT", "side": "BUY", "positionSide": "LONG", "type": "LIMIT", "quantity": "0.001", "price": "8000", "timeInForce": "GTC", } ] } var ret = exchange.IO("api", "POST", "/fapi/v1/batchOrders", "", JSON.stringify(obj)) Log("ret:", ret) */ /* 批量撤单 var obj = { "symbol": "BTCUSDT", "orderIdList": ["3873637971", "3873637970"] } var ret = exchange.IO("api", "DELETE", "/fapi/v1/batchOrders", "", JSON.stringify(obj)) Log("ret:", ret) */ Sleep(1000) Log(exchange.GetOrders()) }

    已经测试过了,可以了。

    6 years ago

    测试可用,但是有个小问题,同参数下

    "quantity": "0.001" 正常,"quantity":0.001 则失败,就是说 必须先toString 一下amount,在其他接口没发现这情况

    function main() {
    exchange.SetBase("https://testnet.binancefuture.com")
    exchange.SetContractType('swap')
    var amount= 0.001

    var theOrder ={"symbol": "BTCUSDT", "side": "BUY" , "positionSide": "LONG" , "type": "MARKET", "quantity": amount}
    //theOrder = exchange.IO("api", "POST", "/fapi/v1/order", "", JSON.stringify(theOrder)) // 正常

    var theOrder = {
    "batchOrders": [
    {"symbol": "BTCUSDT", "side": "BUY" , "positionSide": "LONG" , "type": "MARKET", "quantity": amount}
    ]
    }

    theOrder = exchange.IO("api", "POST", "/fapi/v1/batchOrders", "", JSON.stringify(theOrder)) // 失败
    Log(theOrder)
    }

    6 years ago

    是的,币安文档上写的是为数值型,但是写数值是报错的,都传字符串反而正确了。

    6 years ago

    币安应该不支持这种方式,文档上有说明

    6 years ago

    我看 https://www.fmz.com/api

    exchange.IO( 支持传raw参数的交易所,有币安合约

    不过我用 params 也凑活用了

    batchOrders API ,用order api一个一个下,嘿嘿

    6 years ago

    币安下批量底单的权重比单个订单高5倍,只从频率看没必要

    6 years ago

    单向 逐仓 ,双向 逐仓均无法下单

    6 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)