取消或修改订单
大约 2 分钟
修改订单
对应的请求类:TigerRequest(TradeApiService.MODIFY_ORDER)
说明
修改订单,订单类型不能修改
参数
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
account | string | Yes | 用户授权账户:DU575569 |
id | long | Yes | 订单id,下单时返回 |
total_quantity | long | No | 订单数量(港股,沪港通,窝轮,牛熊证有最小数量限制) |
total_quantity_scale | int | No | 下单数量的偏移量,默认为0。碎股单的total_quantity 和 total_quantity_scale 结合起来代表真实下单数量,如 total_quantity=111 total_quantity_scale=2,那么真实 quantity=111*10^(-2)=1.11 |
limit_price | double | No | 限价,当 order_type 为LMT,STP,STP_LMT时该参数必需 |
aux_price | double | No | 股票止损价。当 order_type 为STP,STP_LMT时该参数必需。当 order_type 为 TRAIL时,为跟踪差额 |
trailing_percent | double | No | 跟踪止损单-百分比 。当 order_type 为 TRAIL时,aux_price和trailing_percent两者互斥,优先使用trailing_percent |
secret_key | string | No | 机构用户专用,交易员密钥 |
返回
名称 | 类型 | 说明 |
---|---|---|
id | long | 唯一单号,可用于查询订单/修改订单/取消订单 |
示例
static async Task<TigerDictResponse?> ModifyOrderAsync(TradeClient tradeClient)
{
TigerRequest<TigerDictResponse> request = new TigerRequest<TigerDictResponse>()
{
ApiMethodName = TradeApiService.MODIFY_ORDER,
ModelValue = new ModifyOrderModel()
{
Account = "20200821144442583",// tradeClient.GetDefaultAccount,
Id = 29360305075913728,
LimitPrice = 121.0,
TotalQuantity = 2
}
};
return await tradeClient.ExecuteAsync(request);
}
返回示例
{
"data":{
"id":29360305075913728
},
"code": 0,
"message":"success",
"timestamp":1672916823517,
"sign":"qVwjFIhphTMTblhMQ2S1Py916Q0YJ/MjlOfUJxyqCKoAYfxfhiKkUGnL6CCO5Sak7IfQkkIgemPorcyTrfOZIXK8hxVayzPB3lYRo/Ip9woJA5Muh8eFYdqcR000GJreBPAEVl6B8t+mzrptjRS798QCxi/uxsbv6WzSCdmd1XY="
}
取消订单
对应的请求类:TigerRequest(TradeApiService.CANCEL_ORDER)
说明
撤销已下的订单。撤单同下单类似,为异步执行,调用本命令后表示撤单请求发送成功,撤单的执行会异步处理 使用 TigerRequest(TradeApiService.PLACE_ORDER)
提交订单后,被提交的订单会根据不同情况进入多种状态。已成交或被系统拒绝的订单无法被撤销,只有订单处于已提交或部分成交的状态,才可被撤销。请参考 TigerRequest(TradeApiService.ORDERS) 方法的说明来了解可能出现的订单状态。
对于批量下出的订单,可用 TigerHttpRequest(MethodName.ACTIVE_ORDERS) 取得待成交的订单列表,依次撤单。对于已经请求过撤单的订单,不要重复请求,可在撤单命令执行会,等待一段时间再次检查待成交的订单。
参数
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
account | string | Yes | 用户授权账户:DU575569 |
id | long | Yes | 订单号,下单时返回的ID |
secret_key | string | No | 机构用户专用,交易员密钥 |
返回
名称 | 类型 | 说明 |
---|---|---|
id | long | 唯一单号,可用于查询订单/修改订单/取消订单 |
示例
static async Task<TigerDictResponse?> CancelOrderAsync(TradeClient tradeClient)
{
TigerRequest<TigerDictResponse> request = new TigerRequest<TigerDictResponse>()
{
ApiMethodName = TradeApiService.CANCEL_ORDER,
ModelValue = new CancelOrderModel()
{
Account = "20200821144442583",// tradeClient.GetDefaultAccount,
Id = 29360305075913728
}
};
return await tradeClient.ExecuteAsync(request);
}
返回示例
{
"data":{
"id":29360305075913728
},
"code": 0,
"message":"success",
"timestamp":1672917172001,
"sign":"QZnYKt55byk4/jwCsniS1y+BExrEUUGHiNGmRMGnBPBnR8nW8Knu15hUjjOfonDhIV+xpGLb3LrBt6hEEp8+dhG/aflx4CCCf5ivMNiOPk1epr4gMGlFmclTmqf9c5Mc3rqGqKxM3b05Qk9bLr4OLCPPk7oA6b86rvnc/ZHymWM="
}