# 报单状态 import random import threading from utils import tool TORA_TSTP_OST_Cached = '0' # 预埋 TORA_TSTP_OST_Unknown = '1' # 未知 TORA_TSTP_OST_Accepted = '2' # 交易所已接收 TORA_TSTP_OST_PartTraded = '3' # 部分成交 TORA_TSTP_OST_AllTraded = '4' # 全部成交 TORA_TSTP_OST_PartTradeCanceled = '5' # 部成部撤 TORA_TSTP_OST_AllCanceled = '6' # 全部撤单 TORA_TSTP_OST_Rejected = '7' # 交易所已拒绝 TORA_TSTP_OST_SendTradeEngine = '#' # 发往交易核心 # 报单价格条件 TORA_TSTP_OPT_AnyPrice = 1 # 任意价 TORA_TSTP_OPT_LimitPrice = 2 # 限价 TORA_TSTP_OPT_BestPrice = 3 # 最优价 TORA_TSTP_OPT_FixPrice = 4 # 盘后定价 TORA_TSTP_OPT_FiveLevelPrice = 5 # 五档价 TORA_TSTP_OPT_HomeBestPrice = 6 # 本方最优 # 买卖方向 TORA_TSTP_D_Buy = 0 # 买入 TORA_TSTP_D_Sell = 1 # 卖出 # 交易所代码 TORA_TSTP_EXD_COMM = 0 # 通用(内部使用) TORA_TSTP_EXD_SSE = 1 # 上海交易所 TORA_TSTP_EXD_SZSE = 2 # 深圳交易所 TORA_TSTP_EXD_HK = 3 # 香港交易所 TORA_TSTP_EXD_BSE = 4 # 北京证券交易所 # 是否可以撤单 def is_can_cancel(state): if state == TORA_TSTP_OST_Cached or state == TORA_TSTP_OST_Unknown or state == TORA_TSTP_OST_Accepted or state == TORA_TSTP_OST_PartTraded: return True return False # 是否已经撤单 def is_canceled(state): if state == TORA_TSTP_OST_AllCanceled or state == TORA_TSTP_OST_PartTradeCanceled: return True return False # 是否已经成交 def is_deal(state): if state == TORA_TSTP_OST_PartTraded or state == TORA_TSTP_OST_AllTraded or state == TORA_TSTP_OST_PartTradeCanceled: return True return False __order_ref_lock = threading.RLock() __public_order_ref = int(tool.get_now_time_str().replace(":", "")) # 创建订单引用 def create_order_ref(): __order_ref_lock.acquire() try: global __public_order_ref __public_order_ref += random.randint(5, 20) return __public_order_ref finally: __order_ref_lock.release()