输入/搜索内容
内置函数
Global
Log
Market
Trade
Account
Futures
Exchange
IO
exchange.IO
exchange.IO("api", ...)
exchange.IO("currency", ...)
exchange.IO("base", ...)
exchange.IO(mode, value)
exchange.IO("rate", ...)
Network
Storage
Threads
TA
Talib
OS
结构体
内置变量与常量
通用约定
交易所

调用交易所未封装的原始REST接口,签名由平台自动处理。Web3交易所对象上的同名指令用于调用智能合约,见exchange.IO("api", ...)。

exchange.IO(k, httpMethod, resource)
exchange.IO(k, httpMethod, resource, params)
exchange.IO(k, httpMethod, resource, params, raw)

示例

  • 使用api模式调用Futures_OKCoin(OKX期货)批量下单接口,通过raw参数传递JSON订单数据。

    javascript
    function main() { var arrOrders = [ {"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"}, {"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"} ] // 调用 exchange.IO 直接访问交易所批量下单接口 var ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", JSON.stringify(arrOrders)) Log(ret) }
    python
    import json def main(): arrOrders = [ {"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"}, {"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"} ] ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", json.dumps(arrOrders)) Log(ret)
    rust
    fn main() { // Rust无JSON序列化,直接用原始字符串构造订单数组 let arrOrders = r#"[ {"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"}, {"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"} ]"#; // 调用 exchange.IO 直接访问交易所批量下单接口,多参数以元组传入 let ret = exchange.IO(("api", "POST", "/api/v5/trade/batch-orders", "", arrOrders)); Log!(ret); }
  • params参数中键值为字符串时,需要用单引号包裹参数值。

    javascript
    var amount = 1 var price = 10 var basecurrency = "ltc" function main () { // 注意 amount.toString() 和 price.toString() 左边右边都有一个 ' 字符 var message = "symbol=" + basecurrency + "&amount='" + amount.toString() + "'&price='" + price.toString() + "'&side=buy" + "&type=limit" var id = exchange.IO("api", "POST", "/v1/order/new", message) }
    python
    amount = 1 price = 10 basecurrency = "ltc" def main(): message = "symbol=" + basecurrency + "&amount='" + str(amount) + "'&price='" + str(price) + "'&side=buy" + "&type=limit" id = exchange.IO("api", "POST", "/v1/order/new", message)
    rust
    fn main() { let amount = 1; let price = 10; let basecurrency = "ltc"; // 注意 amount 和 price 参数值的左边右边都有一个 ' 字符 let message = format!("symbol={}&amount='{}'&price='{}'&side=buy&type=limit", basecurrency, amount, price); let id = exchange.IO(("api", "POST", "/v1/order/new", message)); }
  • resource参数支持完整URL。

    javascript
    function main() { var ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC") Log(ret) }
    python
    def main(): ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC") Log(ret)
    rust
    fn main() { let ret = exchange.IO(("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")); Log!(ret); }
  • 不使用raw参数的GET请求。

    javascript
    function main(){ var ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT") Log(ret) }
    python
    def main(): ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT") Log(ret)
    rust
    fn main() { let ret = exchange.IO(("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT")); Log!(ret); }

返回值

类型描述

object / array / string / 空值

返回交易所接口的完整应答,应答不是JSON时原样返回字符串;调用失败时返回空值。仅实盘支持。

参数

名称类型必填描述

k

string

是

固定为api,用于调用交易所原始接口。

httpMethod

string

是

请求方法,例如GET、POST、DELETE。

resource

string

是

接口路径,也可以写完整URL(主机部分替换当前基地址)。

params

string

否

URL编码格式的请求参数。

raw

string

否

原始请求体,例如JSON字符串。

参考

备注

直接调用交易所API(api模式)
javascript
exchange.IO("api", httpMethod, resource, params, raw)

调用交易所未封装的原始API接口。FMZ自动处理签名验证,只需填请求参数。

参数类型必填说明
httpMethodstring是GET、POST等
resourcestring是请求路径或完整URL
paramsstring否URL编码格式的请求参数
rawstring否原始请求体(JSON等)

调用失败返回空值。仅实盘支持。