| | |
| | | import threading |
| | | import time |
| | | |
| | | import cv2 |
| | | |
| | | import alert_util |
| | | import client_manager |
| | | import code_volumn_manager |
| | |
| | | import authority |
| | | import juejin |
| | | import l2_data_log |
| | | import l2_data_manager |
| | | import l2_data_manager_new |
| | | from l2 import l2_data_manager_new, l2_data_manager |
| | | import l2_data_util |
| | | from l2.cancel_buy_strategy import HourCancelBigNumComputer |
| | | from l2.cancel_buy_strategy import HourCancelBigNumComputer, L2LimitUpMoneyStatisticUtil |
| | | |
| | | from ocr import ocr_util |
| | | import ths_industry_util |
| | | import ths_util |
| | | import tool |
| | | import trade_data_manager |
| | | import trade_gui |
| | | import trade_manager |
| | | from trade import trade_gui, trade_data_manager, trade_manager |
| | | import l2_code_operate |
| | | from code_data_util import ZYLTGBUtil |
| | | import l2.transaction_progress |
| | | |
| | | from log import logger_l2_error, logger_device, logger_trade_delegate, logger_buy_1_volumn_record, \ |
| | | logger_l2_trade_queue, logger_l2_latest_data, logger_l2_trade_buy_queue |
| | | from trade_queue_manager import THSBuy1VolumnManager, Buy1PriceManager, thsl2tradequeuemanager |
| | | from trade.trade_queue_manager import THSBuy1VolumnManager, Buy1PriceManager, thsl2tradequeuemanager |
| | | |
| | | |
| | | class MyTCPServer(socketserver.TCPServer): |
| | |
| | | gp_list = gpcode_manager.get_gp_list() |
| | | gp_code_set = set(gp_list) |
| | | now_str = tool.get_now_time_str() |
| | | for d in dataList: |
| | | if d["time"] == "00:00:00" or tool.get_time_as_second(now_str) < tool.get_time_as_second( |
| | | d["time"]): |
| | | continue |
| | | if d["code"] not in gp_code_set: |
| | | continue |
| | | if dataList: |
| | | for d in dataList: |
| | | if d["time"] == "00:00:00" or tool.get_time_as_second(now_str) < tool.get_time_as_second( |
| | | d["time"]): |
| | | continue |
| | | if d["code"] not in gp_code_set: |
| | | continue |
| | | |
| | | # 获取是否有涨停时间 |
| | | # if limit_up_time_manager.get_limit_up_time(d["code"]) is None: |
| | |
| | | buy_one_volumn = data["buyOneVolumn"] |
| | | buy_queue = data["buyQueue"] |
| | | buy_queue_result_list = self.tradeBuyQueue.save(code, gpcode_manager.get_limit_up_price(code), |
| | | buy_one_price, buy_time, |
| | | buy_queue) |
| | | if buy_queue_result_list: |
| | | # 有数据 |
| | | try: |
| | | buy_one_price_ = decimal.Decimal(round(float(buy_one_price), 2)).quantize(decimal.Decimal("0.00")) |
| | | buy_progress_index = self.tradeBuyQueue.save_traded_index(code,buy_one_price_, |
| | | buy_one_price_ = decimal.Decimal(round(float(buy_one_price), 2)).quantize( |
| | | decimal.Decimal("0.00")) |
| | | buy_progress_index = self.tradeBuyQueue.save_traded_index(code, buy_one_price_, |
| | | buy_queue_result_list) |
| | | if buy_progress_index is not None: |
| | | HourCancelBigNumComputer.set_trade_progress(code,buy_progress_index) |
| | | HourCancelBigNumComputer.set_trade_progress(code, buy_progress_index, |
| | | l2_data_manager.local_today_datas.get(code), |
| | | l2_data_manager.local_today_num_operate_map.get( |
| | | code)) |
| | | logger_l2_trade_buy_queue.info("获取成交位置成功: code-{} index-{} 数据-{}", code, |
| | | buy_progress_index, |
| | | json.loads(buy_queue_result_list)) |
| | | json.dumps(buy_queue_result_list)) |
| | | except Exception as e: |
| | | print("买入队列", code, buy_queue_result_list) |
| | | logger_l2_trade_buy_queue.warning("获取成交位置失败: code-{} 原因-{} 数据-{}", code, str(e), |
| | | json.loads(buy_queue_result_list)) |
| | | json.dumps(buy_queue_result_list)) |
| | | |
| | | # buy_queue是否有变化 |
| | | if self.l2_trade_buy_queue_dict.get(code) is None or buy_queue != self.l2_trade_buy_queue_dict.get( |
| | |
| | | l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, cancel_msg, "trade_queue") |
| | | if need_sync: |
| | | # 同步数据 |
| | | l2_data_manager_new.L2LimitUpMoneyStatisticUtil.verify_num(code, int(buy_one_volumn), |
| | | buy_time) |
| | | L2LimitUpMoneyStatisticUtil.verify_num(0, code, int(buy_one_volumn), buy_time) |
| | | # print(buy_time, buy_one_price, buy_one_volumn) |
| | | |
| | | # print("L2买卖队列",datas) |
| | |
| | | l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, cancel_msg, "trade_queue") |
| | | if need_sync: |
| | | # 同步数据 |
| | | l2_data_manager_new.L2LimitUpMoneyStatisticUtil.verify_num(code, volumn, time_) |
| | | L2LimitUpMoneyStatisticUtil.verify_num(code, volumn, time_) |
| | | |
| | | elif type == 30: |
| | | # 心跳信息 |
| | |
| | | |
| | | if __name__ == "__main__": |
| | | try: |
| | | a=round(float("0002.90"),2) |
| | | a = round(float("0002.90"), 2) |
| | | print(decimal.Decimal(a).quantize(decimal.Decimal("0.00"))) |
| | | # repair_ths_main_site(2) |
| | | except Exception as e: |