exchange.CancelOrder
exchange.CancelOrder()函数用于取消订单。FMZ平台的订单Order结构中,属性Id由交易所品种代码和交易所原始订单Id组成,两者之间以英文逗号分隔。例如,OKX交易所现货交易对ETH_USDT的订单,其属性Id的格式为:ETH-USDT,1547130415509278720。
调用exchange.CancelOrder()函数撤销订单时,传入的参数orderId与订单Order结构的Id属性一致。
exchange.CancelOrder(orderId)
exchange.CancelOrder(orderId, ...args)示例
-
撤销订单。
javascriptfunction main(){ var id = exchange.Sell(99999, 1) exchange.CancelOrder(id) }pythondef main(): id = exchange.Sell(99999, 1) exchange.CancelOrder(id)rustfn main() { let id = exchange.Sell(99999, 1).unwrap(); let _ = exchange.CancelOrder(&id); }c++void main() { auto id = exchange.Sell(99999, 1); exchange.CancelOrder(id); } -
FMZ的API函数中,能够产生日志输出的函数(例如
Log()、exchange.Buy()、exchange.CancelOrder()等)都可以在必要参数之后附带一些输出参数。例如:
exchange.CancelOrder(orders[i].Id, orders[i]),即在取消Id为orders[i].Id的订单时,附带输出该订单的信息,也就是orders[i]这个Order结构。javascriptfunction 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) } }pythondef 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)rustfn 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); } }c++void main() { if (exchange.GetName().find("Futures_") != std::string::npos) { Log("Set contract to: perpetual swap, set direction to: open long."); exchange.SetContractType("swap"); exchange.SetDirection("buy"); } auto ticker = exchange.GetTicker(); exchange.Buy(ticker.Last * 0.5, 0.1); auto orders = exchange.GetOrders(); for (int i = 0 ; i < orders.size() ; i++) { exchange.CancelOrder(orders[i].Id, "Canceled order:", orders[i]); Sleep(500); } }
返回值
| 类型 | 描述 |
bool |
|
参数
| 名称 | 类型 | 必填 | 描述 |
orderId | string | 是 | 参数 |
arg | string / number / bool / object / array / any (平台支持的任意类型) | 否 | 扩展参数,用于将附带信息输出到本条撤单日志中; |
参考
备注
如果使用较旧版本的托管者,exchange.CancelOrder()函数的参数orderId可能与当前文档中描述的orderId有所差别。