输入/搜索内容
内置函数
Global
Log
Market
Trade
exchange.Buy
exchange.Sell
exchange.CreateOrder
exchange.CancelOrder
exchange.GetOrder
exchange.GetOrders
exchange.GetHistoryOrders
exchange.SetPrecision
exchange.SetRate
exchange.IO
exchange.Log
Account
Futures
Threads
TA
Talib
OS
结构体
内置变量

取消订单。

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

示例

  • 撤销订单。

    javascript
    function main(){ // 由于是测试代码,未采用商品期货策略的通用架构,此处仅通过 exchange.IO("status") 函数判断成功连接期货公司前置机后,立即执行测试代码。股票证券无需使用 exchange.IO("status") 判断连接状态 while (!exchange.IO("status")) { Sleep(1000) } // 设置合约代码 exchange.SetContractType("rb888") // 设置下单方向 exchange.SetDirection("sell") // 下单价格仅为示例,价格过高将无法成交,订单会停留在订单簿中等待成交,具体测试时可自行调整价格 var id = exchange.Sell(99999, 1) exchange.CancelOrder(id) }
    python
    def main(): while not exchange.IO("status"): Sleep(1000) exchange.SetContractType("rb888") exchange.SetDirection("sell") id = exchange.Sell(99999, 1) exchange.CancelOrder(id)
    rust
    fn main() { // 由于是测试代码,未采用商品期货策略的通用架构,此处仅通过 exchange.IO("status") 函数判断成功连接期货公司前置机后,立即执行测试代码。股票证券无需使用 exchange.IO("status") 判断连接状态 while !exchange.IO("status").is_ok_and(|v| v.as_i64() == Some(1)) { Sleep(1000); } // 设置合约代码 let _ = exchange.SetContractType("rb888"); // 设置下单方向 let _ = exchange.SetDirection("sell"); // 下单价格仅为示例,价格过高将无法成交,订单会停留在订单簿中等待成交,具体测试时可自行调整价格 let id = exchange.Sell(99999, 1).unwrap(); let _ = exchange.CancelOrder(&id); }
  • 在优宽量化的API函数中,能够产生日志输出的函数(例如Log(...)、exchange.Buy(Price, Amount)、exchange.CancelOrder(Id)等)均可在必要参数之后附加一些额外的输出参数。

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

    javascript
    function main() { // 由于这是测试代码,未采用商品期货策略的一般架构,这里仅通过exchange.IO("status")函数进行判断,在成功连接期货公司前置机后立即执行测试代码。股票证券则无需使用exchange.IO("status")判断连接状态 while (!exchange.IO("status")) { Sleep(1000) } // 设置合约代码 exchange.SetContractType("rb888") // 设置下单方向 exchange.SetDirection("sell") Log("数据1", "数据2", "数据3", "...") var data2 = 200 // 下单价格仅为示例,价格过高不会成交,订单会处于订单簿中等待成交状态,实际测试时可自行调整价格 var id = exchange.Sell(100000, 0.1, "附带数据1", data2, "...") exchange.CancelOrder(id, "附带数据1", data2, "...") LogProfit(100, "附带数据1", data2, "...") }
    python
    def main(): while not exchange.IO("status"): Sleep(1000) exchange.SetContractType("rb888") exchange.SetDirection("sell") Log("数据1", "数据2", "数据3", "...") data2 = 200 id = exchange.Sell(100000, 0.1, "附带数据1", data2, "...") exchange.CancelOrder(id, "附带数据1", data2, "...") LogProfit(100, "附带数据1", data2, "...")
    rust
    fn main() { // 由于这是测试代码,未采用商品期货策略的一般架构,这里仅通过exchange.IO("status")函数进行判断,在成功连接期货公司前置机后立即执行测试代码。股票证券则无需使用exchange.IO("status")判断连接状态 while !exchange.IO("status").is_ok_and(|v| v.as_i64() == Some(1)) { Sleep(1000); } // 设置合约代码 let _ = exchange.SetContractType("rb888"); // 设置下单方向 let _ = exchange.SetDirection("sell"); Log!("数据1", "数据2", "数据3", "..."); let data2 = 200; // Rust 不支持在 exchange.Sell()、exchange.CancelOrder()、LogProfit() 等函数中传入附带输出参数,可使用 Log! 宏单独输出附带信息 // 下单价格仅为示例,价格过高不会成交,订单会处于订单簿中等待成交状态,实际测试时可自行调整价格 let id = exchange.Sell(100000, 0.1).unwrap(); Log!("附带数据1", data2, "..."); let _ = exchange.CancelOrder(&id); LogProfit(100); }

返回值

类型描述

bool

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

参数

名称类型必填描述

orderId

string

是

要取消的订单。

arg

string / number / bool / object / array / any

否

扩展参数,用于向该撤单日志中输出附带信息,arg参数可传入多个。

参考

备注

参数orderId为字符串类型。