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}