| | |
| | | @return: |
| | | """ |
| | | for i in range(len(order_infos)): |
| | | order_ref, order_sys_id = order_infos[i][0], order_infos[i][1] |
| | | order_ref, order_sys_id = order_infos[i][0], order_infos[i][1] |
| | | sinfo = sinfos[i] |
| | | order_action_ref = order_action_refs[i] |
| | | if order_sys_id: |
| | | self.cancel_buy(code, sinfo, order_sys_id=order_sys_id, order_action_ref=order_action_ref, delay_s=delay_s) |
| | | self.cancel_buy(code, sinfo, order_sys_id=order_sys_id, order_action_ref=order_action_ref, |
| | | delay_s=delay_s) |
| | | else: |
| | | self.cancel_buy(code, sinfo, order_ref=order_ref, order_action_ref=order_action_ref, delay_s=delay_s) |
| | | self.cancel_buy(code, sinfo, order_ref=order_ref, order_action_ref=order_action_ref, delay_s=delay_s) |
| | | return |
| | | |
| | | # 卖 |
| | |
| | | "volume": pOrderField.VolumeTotalOriginal, "volumeTraded": pOrderField.VolumeTraded, |
| | | "orderStatus": pOrderField.OrderStatus, |
| | | "orderSubmitStatus": pOrderField.OrderSubmitStatus, |
| | | "statusMsg": pOrderField.StatusMsg} |
| | | "statusMsg": pOrderField.StatusMsg, "volumeCanceled": pOrderField.VolumeCanceled, |
| | | "localUpdateTime": int(time.time()*1000)} |
| | | self.call_back_thread_pool.submit(self.__data_callback, TYPE_ORDER, 0, order_data) |
| | | except Exception as e: |
| | | async_log_util.error(logger_local_huaxin_trade_debug, "OnRtnOrder 出错") |
| | |
| | | "turnover": pOrderField.Turnover, "orderRef": pOrderField.OrderRef, |
| | | "volume": pOrderField.VolumeTotalOriginal, |
| | | "volumeTraded": pOrderField.VolumeTraded, "orderStatus": pOrderField.OrderStatus, |
| | | "orderSubmitStatus": pOrderField.OrderSubmitStatus, "statusMsg": pOrderField.StatusMsg,"sinfo": pOrderField.SInfo |
| | | "orderSubmitStatus": pOrderField.OrderSubmitStatus, "statusMsg": pOrderField.StatusMsg, |
| | | "sinfo": pOrderField.SInfo |
| | | }) |
| | | else: |
| | | # logger.info('查询报单结束[%d] ErrorID[%d] ErrorMsg[%s]' |
| | |
| | | req_rid_dict[sinfo] = (client_id, request_id, sk) |
| | | self.trade_thread_pool.submit( |
| | | lambda: self.__tradeSimpleApi.cancel_buy(code, sinfo, order_sys_id=orderSysID, |
| | | order_ref=orderRef, order_action_ref=orderActionRef)) |
| | | order_ref=orderRef, |
| | | order_action_ref=orderActionRef)) |
| | | async_log_util.info(logger_local_huaxin_trade_debug, |
| | | f"撤单结束:code-{code} order_sys_id-{orderSysID} sinfo-{sinfo}") |
| | | except Exception as e: |
| | |
| | | nameDict = HistoryKDatasUtils.get_gp_codes_names([d['securityID']]) |
| | | name = nameDict.get(d['securityID']) |
| | | cls.mysqldb.execute( |
| | | "insert into hx_trade_delegate_record values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s', '%s', '%s')" % ( |
| | | "insert into hx_trade_delegate_record values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s', '%s', '%s', '%s')" % ( |
| | | _id, d["orderLocalID"], d["securityID"], name, d["direction"], |
| | | d["orderSysID"], d["insertTime"], d["insertDate"], d["acceptTime"], d["cancelTime"], |
| | | d["limitPrice"], d["turnover"], d["volume"], d["volumeTraded"], d["orderStatus"], |
| | | d["orderSubmitStatus"], d["statusMsg"], tool.get_now_datetime_str(), |
| | | tool.get_now_datetime_str(), d["accountID"], d["orderRef"], d["sinfo"])) |
| | | tool.get_now_datetime_str(), d["accountID"], d["orderRef"], d["sinfo"], d["localUpdateTime"])) |
| | | else: |
| | | # 修改数据 |
| | | updateDict = {} |
| | |
| | | updateDict['orderRef'] = d['orderRef'] |
| | | if result[21] != d['sinfo']: |
| | | updateDict['sinfo'] = d['sinfo'] |
| | | if d.get('localUpdateTime'): |
| | | updateDict['localUpdateTime'] = d['localUpdateTime'] |
| | | if updateDict: |
| | | # 有更新数据 |
| | | updateDict['updateTime'] = tool.get_now_datetime_str() |