exchange.CancelConditionOrder

exchange.CancelConditionOrder()函数用于取消条件单。条件单Id的格式与普通订单Id类似,由交易所品种代码和交易所原始条件单Id组成,以英文逗号分隔。

调用exchange.CancelConditionOrder()函数撤销条件单时传入的参数conditionOrderId与条件单结构的Id属性保持一致。

exchange.CancelConditionOrder()函数返回布尔值:true表示取消条件单请求发送成功,false表示取消条件单请求发送失败。 bool

exchange.CancelConditionOrder(conditionOrderId) exchange.CancelConditionOrder(conditionOrderId, …args)

conditionOrderId参数用于指定需要取消的条件单。 conditionOrderId true string 扩展参数,可以将附加信息输出到撤销条件单的日志记录中,arg参数支持传入多个值。 arg false string / number / bool / object / array / any (平台支持的任意类型)


function main(){
    // 创建止损条件单
    var condition = {
        ConditionType: ORDER_CONDITION_TYPE_SL,
        SlTriggerPrice: 58000,
        SlOrderPrice: -1  // 市价单
    }
    var id = exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, condition)
    Sleep(1000)
    exchange.CancelConditionOrder(id)
}

def main():
    # 创建止损条件单
    condition = {
        "ConditionType": ORDER_CONDITION_TYPE_SL,
        "SlTriggerPrice": 58000,
        "SlOrderPrice": -1  # 市价单
    }
    id = exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, condition)
    Sleep(1000)
    exchange.CancelConditionOrder(id)

void main() {
    // 创建止损条件单
    json condition = R"({
        "ConditionType": ORDER_CONDITION_TYPE_SL,
        "SlTriggerPrice": 58000,
        "SlOrderPrice": -1
    })"_json;
    auto id = exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, condition);
    Sleep(1000);
    exchange.CancelConditionOrder(id);
}
撤销条件单。 “`javascript function main() { // 创建几个条件单 var condition1 = { ConditionType: ORDER_CONDITION_TYPE_TP, TpTriggerPrice: 65000, TpOrderPrice: 65000 } exchange.CreateConditionOrder(“BTC_USDT”, “sell”, 0.01, condition1)

var condition2 = {
    ConditionType: ORDER_CONDITION_TYPE_SL,
    SlTriggerPrice: 58000,
    SlOrderPrice: 58000
}
exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, condition2)
Sleep(1000)

var orders = exchange.GetConditionOrders()
for (var i = 0 ; i < orders.length ; i++) {
    exchange.CancelConditionOrder(orders[i].Id, "Canceled condition order:", orders[i])
    Sleep(500)
}

} python def main(): # 创建几个条件单 condition1 = { “ConditionType”: ORDER_CONDITION_TYPE_TP, “TpTriggerPrice”: 65000, “TpOrderPrice”: 65000 } exchange.CreateConditionOrder(“BTC_USDT”, “sell”, 0.01, condition1)

condition2 = {
    "ConditionType": ORDER_CONDITION_TYPE_SL,
    "SlTriggerPrice": 58000,
    "SlOrderPrice": 58000
}
exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, condition2)
Sleep(1000)

orders = exchange.GetConditionOrders()
for i in range(len(orders)):
    exchange.CancelConditionOrder(orders[i]["Id"], "Canceled condition order:", orders[i])
    Sleep(500)```

”`cpp void main() { // 创建几个条件单 json condition1 = R”({ “ConditionType”: ORDER_CONDITION_TYPE_TP, “TpTriggerPrice”: 65000, “TpOrderPrice”: 65000 })“_json; exchange.CreateConditionOrder(“BTC_USDT”, “sell”, 0.01, condition1);

json condition2 = R"({
    "ConditionType": ORDER_CONDITION_TYPE_SL,
    "SlTriggerPrice": 58000,
    "SlOrderPrice": 58000
})"_json;
exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, condition2);
Sleep(1000);

auto orders = exchange.GetConditionOrders();
for (int i = 0 ; i < orders.size() ; i++) {
    exchange.CancelConditionOrder(orders[i].Id, "Canceled condition order:", orders[i]);
    Sleep(500);
}

}“` 批量取消条件单,并输出条件单详细信息。

exchange.CancelConditionOrder()函数的返回值仅表示请求发送成功或失败。若要判断交易所是否已成功取消条件单,需调用exchange.GetConditionOrders()函数进行确认。 只有未触发的条件单可以被取消。已触发并转换为普通订单的条件单无法通过此函数取消。

{@fun/Trade/exchange.CreateConditionOrder exchange.CreateConditionOrder}, {@fun/Trade/exchange.GetConditionOrder exchange.GetConditionOrder}, {@fun/Trade/exchange.GetConditionOrders exchange.GetConditionOrders}