Administrator
2023-06-06 751183dcd74207a50834cacc575f0dfccb41658c
gui.py
@@ -19,7 +19,7 @@
import settings
from juejin import JueJinManager
from l2_code_operate import L2CodeOperate
from trade import l2_trade_util
from trade import l2_trade_util, trade_juejin
from trade.l2_trade_factor import L2TradeFactorUtil
from ocr import ocr_server
from third_data import data_server, kpl_data_manager, kpl_util
@@ -67,8 +67,6 @@
    t1.setDaemon(True)
    t1.start()
    laddr = "", 9001
    tcpserver = MyThreadingTCPServer(laddr, MyBaseRequestHandle, pipe_juejin=pipe_juejin)  # 注意:参数是MyBaseRequestHandle
    # tcpserver.handle_request()  # 只接受一个客户端连接
@@ -80,10 +78,12 @@
    tcpserver = ocr_server.run("", 9002)
    tcpserver.serve_forever()
def createDataServer():
    print("create OCRServer")
    tcpserver = data_server.run("", 9004)
    tcpserver.serve_forever()
def startJueJin(pipe):
    juejin.JueJinManager(pipe).start()
@@ -97,8 +97,8 @@
        self.serverProcess = multiprocessing.Process(target=createServer, args=(p1, gs_server_pipe,))
        self.jueJinProcess = multiprocessing.Process(target=startJueJin, args=(p2,))
        self.jueJinTradeProcess = multiprocessing.Process(target=trade_juejin.run)
        self.ocrServerProcess = multiprocessing.Process(target=createOCRServer)
        self.p1 = p1
        self.p2 = p2
@@ -134,6 +134,7 @@
        self.jueJinProcess.start()
        self.serverProcess.start()
        self.ocrServerProcess.start()
        self.jueJinTradeProcess.start()
        L2CodeOperate.get_instance()
        # 客户端队列操作
@@ -304,6 +305,7 @@
                # table.model.setValueAt(data["apply_time"], index, 2)
                index += 1
            table.redraw()
        # 刷新开盘啦数据
        def refresh_kpl_data():
            kpl_data_manager.KPLDataManager().get_data(kpl_util.KPLDataType.LIMIT_UP)
@@ -311,7 +313,6 @@
            kpl_data_manager.KPLDataManager().get_data(kpl_util.KPLDataType.BEST_FENG_KOU)
            kpl_data_manager.KPLDataManager().get_data(kpl_util.KPLDataType.FENG_KOU)
            kpl_data_manager.KPLDataManager().get_data(kpl_util.KPLDataType.FENG_XIANG)
        start_y = 225
        btn = FlatButton(frame, text="刷新收盘价", command=refresh_close_price_data)
@@ -323,7 +324,7 @@
        btn = FlatButton(frame, text="重新获取收盘价", command=re_get_close_price)
        btn.place(x=80, y=start_y)
        kpl_data =  Label(text="涨停:\n炸板:\n最强:\n风向:\n风口:",bg="#DDDDDD",fg="#666666")
        kpl_data = Label(text="涨停:\n炸板:\n最强:\n风向:\n风口:", bg="#DDDDDD", fg="#666666")
        kpl_data.place(x=190, y=start_y)
        trade_win_datas = []
@@ -634,7 +635,7 @@
        width = 800
        height = 360
        frame = Frame(root, {"height": height, "width": width, "bg": "#DDDDDD"})
        trade_info= ""
        trade_info = ""
        for_color = "#008000"
        if constant.TEST:
            trade_info += "测试环境"
@@ -648,7 +649,7 @@
            trade_info += "初始禁止交易"
            for_color = "#FF7F27"
        cl = Label(frame, text=f"{trade_info}", bg="#DDDDDD",foreground=f"{for_color}")
        cl = Label(frame, text=f"{trade_info}", bg="#DDDDDD", foreground=f"{for_color}")
        cl.place(x=5, y=5)
        accept_l2 = IntVar()
@@ -684,10 +685,10 @@
        menu.add_command(label="环境检测", command=check_env)
        menu.add_command(label="同花顺测速", command=ths_test_speed)
        device_index =0
        device_index = 0
        for key in self.l2_codes:
            device_index += 1
            client_lb = Label(frame, text="设备:{} ID:{}".format(device_index,key), background="#DDDDDD")
            client_lb = Label(frame, text="设备:{} ID:{}".format(device_index, key), background="#DDDDDD")
            client_lb.place(x=38, y=40 + l2_client_count * 30)
            btn = FlatButton(frame, text="检测", command=key)
            btn.bind('<Button-3>', lambda event: pop_menu(event))
@@ -766,16 +767,17 @@
            index = 0
            for data in datas:
                table_trade.model.addRow()
                table_trade.model.setValueAt(data["code"], index, 0)
                table_trade.model.setValueAt(data["time"], index, 1)
                table_trade.model.setValueAt(data["num"], index, 2)
                table_trade.model.setValueAt(data["price"], index, 3)
                table_trade.model.setValueAt(data["money"], index, 4)
                table_trade.model.setValueAt(data["trade_num"], index, 5)
                if int(data["type"]) > 0:
                    table_trade.model.setValueAt("卖出", index, 6)
                    table_trade.model.setValueAt("卖出", index, 0)
                else:
                    table_trade.model.setValueAt("买入", index, 6)
                    table_trade.model.setValueAt("买入", index, 0)
                table_trade.model.setValueAt(data["code"], index, 1)
                table_trade.model.setValueAt(data["time"], index, 2)
                table_trade.model.setValueAt(data["num"], index, 3)
                table_trade.model.setValueAt(data["price"], index, 4)
                table_trade.model.setValueAt(data["money"], index, 5)
                table_trade.model.setValueAt(data["trade_num"], index, 6)
                index += 1
            table_trade.redraw()
@@ -846,12 +848,12 @@
        cl.place(x=width - 70, y=30)
        trade_datas = {}
        trade_datas["row{}".format(0)] = {'证券代码': '', '成交时间': '', '成交数量': '', '成交均价': '', '成交金额': '',
                                          '合同编号': '', '操作': ''}
        trade_datas["row{}".format(0)] = {'方向': '', '证券代码': '', '成交时间': '', '成交数量': '', '成交均价': '', '成交金额': '',
                                          '合同编号': ''}
        table_frame = Frame(frame, {"height": table_height, "width": table_width, "bg": "#DDDDDD"})
        table_frame.place(x=width / 2, y=52)
        table_trade = create_table(table_frame, trade_datas, 90)
        table_trade = create_table(table_frame, trade_datas, 70)
        table_trade.show()
        frame.grid(row=2, column=1, padx=5, pady=5, rowspan=2)