| | |
| | | D_CANCEL_RATE = 0.5 |
| | | |
| | | # L撤 |
| | | L_CANCEL_MAX_WATCH_COUNT = 15 |
| | | L_CANCEL_MAX_WATCH_COUNT = 10 |
| | | # 撤单比例 |
| | | L_CANCEL_RATE = 0.69 |
| | | L_CANCEL_RATE = 0.6 |
| | | # 最小金额 |
| | | L_CANCEL_MIN_MONEY = 98 |
| | | L_CANCEL_MIN_MONEY = 50 |
| | | |
| | | # 华鑫L2的卡位数量 |
| | | HUAXIN_L2_MAX_CODES_COUNT = 50 |
| | |
| | | |
| | | tmep_order_detail_queue_dict[code].put( |
| | | (data['SecurityID'], data['Price'], data['Volume'], data['Side'], data['OrderType'], data['OrderTime'], |
| | | data['MainSeq'], data['SubSeq'], data['OrderNO'], data['OrderStatus'])) |
| | | data['MainSeq'], data['SubSeq'], data['OrderNO'], data['OrderStatus']), int(time.time()*1000)) |
| | | |
| | | |
| | | # 添加逐笔成交 |
| | |
| | | def close_print(): |
| | | pass |
| | | # logging.basicConfig(level=logging.ERROR) |
| | | # if not constant.is_windows(): |
| | | # os.close(1) |
| | | # os.open('/dev/null', os.O_WRONLY) |
| | | if not constant.is_windows(): |
| | | os.close(1) |
| | | os.open('/dev/null', os.O_WRONLY) |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | |
| | | while True: |
| | | try: |
| | | sk.send(socket_util.load_header(json.dumps({"type": "heart", "client_id": client_id}).encode('utf-8'))) |
| | | logger_debug.debug("心跳信息发送:{}",client_id) |
| | | # print("心跳信息发送成功", client_id) |
| | | except Exception as e: |
| | | logging.error("错误") |
| | |
| | | try: |
| | | code = data["code"] |
| | | excel_file_name = data_export_util.export_l2_excel(code) |
| | | print("导出L2数据目录:",excel_file_name) |
| | | print("导出L2数据目录:", excel_file_name) |
| | | self.send_response({"code": 0, "data": {}, "msg": ""}, client_id, request_id) |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | self.send_response({"code": 1, "msg": str(e)}, client_id, request_id) |
| | | |
| | | def OnEveryDayInit(self, client_id, request_id, data): |
| | |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | export_l2_excel("002765") |
| | | export_l2_excel("002178") |