输入/搜索内容
内置函数
Global
Log
Market
Trade
Account
Futures
Exchange
IO
Network
Storage
Threads
TA
Talib
OS
结构体
内置变量与常量
通用约定
交易所

取消订单。FMZ平台的订单Order结构中,属性Id由交易所品种代码和交易所原始订单Id组成,两者之间以英文逗号分隔。例如,OKX交易所现货交易对ETH_USDT的订单,其属性Id的格式为:ETH-USDT,1547130415509278720。

调用exchange.CancelOrder()函数撤销订单时,传入的参数orderId与订单Order结构的Id属性一致。

exchange.CancelOrder(orderId)
exchange.CancelOrder(orderId, ...args)

示例

  • 撤销订单。

    javascript
    function main(){ var id = exchange.Sell(99999, 1) if (!id) return exchange.CancelOrder(id) }
    python
    def main(): id = exchange.Sell(99999, 1) if not id: return exchange.CancelOrder(id)
    rust
    fn main() { let Ok(id) = exchange.Sell(99999, 1) else { return }; let _ = exchange.CancelOrder(&id); }
  • FMZ的API函数中,能够产生日志输出的函数(例如Log()、exchange.Buy()、exchange.CancelOrder()等)都可以在必要参数之后附带一些输出参数。

    例如:exchange.CancelOrder(orders[i].Id, orders[i]),即在取消Id为orders[i].Id的订单时,附带输出该订单的信息,也就是orders[i]这个Order结构。

    javascript
    function main() { if (exchange.GetName().includes("Futures_")) { Log("Set contract to: perpetual swap, set direction to: open long.") exchange.SetContractType("swap") exchange.SetDirection("buy") } var ticker = exchange.GetTicker() exchange.Buy(ticker.Last * 0.5, 0.1) var orders = exchange.GetOrders() for (var i = 0 ; i < orders.length ; i++) { exchange.CancelOrder(orders[i].Id, "Canceled order:", orders[i]) Sleep(500) } }
    python
    def main(): if exchange.GetName().find("Futures_") != -1: Log("Set contract to: perpetual swap, set direction to: open long.") exchange.SetContractType("swap") exchange.SetDirection("buy") ticker = exchange.GetTicker() exchange.Buy(ticker["Last"] * 0.5, 0.1) orders = exchange.GetOrders() for i in range(len(orders)): exchange.CancelOrder(orders[i]["Id"], "Canceled order:", orders[i]) Sleep(500)
    rust
    fn main() { if exchange.GetName().contains("Futures_") { Log!("Set contract to: perpetual swap, set direction to: open long."); let _ = exchange.SetContractType("swap"); let _ = exchange.SetDirection("buy"); } let ticker = exchange.GetTicker(None).unwrap(); let _ = exchange.Buy(ticker.Last * 0.5, 0.1); let orders = exchange.GetOrders(None).unwrap(); for i in 0..orders.len() { // Rust不支持在CancelOrder的必要参数后附带输出参数,撤单后单独调用Log!宏输出附带信息 let _ = exchange.CancelOrder(&orders[i].Id); Log!("Canceled order:", orders[i]); Sleep(500); } }

返回值

类型描述

bool / 空值

返回真值(例如true)表示取消订单请求发送成功,请求发送失败时返回空值。返回值仅代表请求发送成功或失败;若要判断交易所是否已取消订单,可以调用exchange.GetOrders()进行判断。

参数

名称类型必填描述

orderId

string

是

所要取消的订单。

arg

string / number / bool / object / array / any

否

扩展参数,用于将附带信息输出到本条撤单日志中;arg参数可以传入多个。

参考

备注

如果使用较旧版本的托管者,exchange.CancelOrder()函数的参数orderId可能与当前文档中描述的orderId有所差别。

不支持的交易所:OKX_DEX、Web3。调用时报错并返回空值,所有交易所的对照见能力矩阵。