资源加载中... loading...

exchange.CancelOrder

exchange.CancelOrder()函数用于取消订单。

exchange.CancelOrder()函数返回真值,例如true表示取消订单请求发送成功, 返回假值,例如false表示取消订单请求发送失败。返回值只是代表发送请求成功或失败,判断交易所是否取消订单, 可以调用exchange.GetOrders()判断。 bool

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

orderId参数用于指定所要取消的订单。 orderId true string 扩展参数,可以输出附带信息到这条撤单日志中,arg参数可以传多个。 arg false string、number、bool、object、array、空值等系统支持的任意类型

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)
}
def main():
    while not exchange.IO("status"):
        Sleep(1000)
    exchange.SetContractType("rb888")
    exchange.SetDirection("sell")
    
    id = exchange.Sell(99999, 1)
    exchange.CancelOrder(id)
void main() {
    while (exchange.IO("status") == 0) {
        Sleep(1000);
    }
    exchange.SetContractType("rb888");
    exchange.SetDirection("sell");
    
    auto id = exchange.Sell(99999, 1);
    exchange.CancelOrder(id);
}

撤销订单。

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, "...")
}
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, "...")
void main() {
    while (exchange.IO("status") == 0) {
        Sleep(1000);
    }
    exchange.SetContractType("rb888");
    exchange.SetDirection("sell");
    
    Log("数据1", "数据2", "数据3", "...");
    int data2 = 200;
    auto id = exchange.Sell(100000, 0.1, "附带数据1", data2, "...");
    exchange.CancelOrder(id, "附带数据1", data2, "...");
    LogProfit(100, "附带数据1", data2, "...");
}

优宽量化的API函数中可以产生日志输出的函数例如:Log(...)exchange.Buy(Price, Amount)exchange.CancelOrder(Id)等都可以在必要参数后跟一些附带输出参数。 例如:exchange.CancelOrder(orders[j].Id, orders[j]),这样就是在取消Id为orders[j].Id的这个订单时附带输出这个订单的信息,即orders[j]这个Order结构。

参数orderId的类型为字符串类型。

{@fun/Trade/exchange.Buy exchange.Buy}, {@fun/Trade/exchange.Sell exchange.Sell}, {@fun/Trade/exchange.GetOrders exchange.GetOrders}

exchange.CreateOrder exchange.GetOrder