Trade
exchange.CancelAllOrders()
取消所有未完成的订单。
语法
python
canceled_count = exchange.CancelAllOrders()返回值
int: 取消的订单数量
示例
基础用法
python
# 取消所有挂单
count = exchange.CancelAllOrders()
Log(f"已取消 {count} 个订单")紧急止损
python
def emergency_stop():
"""紧急停止:取消所有订单并市价平仓"""
# 1. 取消所有挂单
count = exchange.CancelAllOrders()
Log(f"已取消 {count} 个挂单")
# 2. 市价平仓
account = exchange.GetAccount()
if account['Stocks'] > 0:
depth = exchange.GetDepth()
price = depth['Bids'][0][0] # 买一价
exchange.Sell(price, account['Stocks'])
Log(f"市价卖出: {account['Stocks']}")
# 使用
emergency_stop()策略切换前清理
python
def cleanup_before_switch():
"""切换策略前清理所有订单"""
Log("正在清理所有订单...")
count = exchange.CancelAllOrders()
Log(f"清理完成,取消了 {count} 个订单")
Sleep(1000) # 等待订单完全取消
cleanup_before_switch()注意事项
- 不可逆操作:此操作会取消所有挂单,请谨慎使用
- 正在成交的订单:可能有订单正在成交中,取消可能失败
- 建议场景:策略停止、紧急止损、参数调整前
相关方法
- CancelOrder - 取消单个订单
- GetOrders - 获取未完成订单
- GetPendingOrders - 获取未完成订单