admin
2024-06-06 00c7f72bc3ce5be41a169c89560c736a87e68de8
增加需求
9个文件已删除
5个文件已修改
9863 ■■■■■ 已修改文件
_traderapi.cp37-win32.pyd 补丁 | 查看 | 原始文档 | blame | 历史
_traderapi.cp37-win_amd64.pyd 补丁 | 查看 | 原始文档 | blame | 历史
_traderapi.cpython-37m-x86_64-linux-gnu.so 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/client_network.py 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/command_manager.py 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/huaxin_trade_client.py 524 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/trade_manager.py 616 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.py 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
middle_api_server.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
middle_cb_api_server.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
middle_l1_data_server.py 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
middle_server.py 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin_trade_api.py 323 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
traderapi.py 8064 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_traderapi.cp37-win32.pyd
Binary files differ
_traderapi.cp37-win_amd64.pyd
Binary files differ
_traderapi.cpython-37m-x86_64-linux-gnu.so
Binary files differ
huaxin_client/client_network.py
File was deleted
huaxin_client/command_manager.py
File was deleted
huaxin_client/huaxin_trade_client.py
File was deleted
huaxin_client/trade_manager.py
File was deleted
main.py
@@ -6,11 +6,7 @@
import middle_api_server
import middle_cb_api_server
import middle_server
# from huaxin_client import huaxin_trade_client
# from trade import huaxin_trade_api
# from huaxin_client import huaxin_trade_client
from log_module import async_log_util
# from trade import huaxin_trade_api
if __name__ == "__main__":
    t1 = threading.Thread(target=lambda: middle_api_server.run(), daemon=True)
@@ -26,15 +22,5 @@
    t1.start()
    # t1 = threading.Thread(target=lambda: middle_l1_data_server.run(12881), daemon=True)
    # t1.start()
    # 运行仿真交易
    # queue_strategy_r_trade_w, queue_strategy_w_trade_r, queue_strategy_w_trade_r_for_query = multiprocessing.Queue(), multiprocessing.Queue(), multiprocessing.Queue()
    # huaxin_trade_api.run_trade(queue_strategy_r_trade_w, queue_strategy_w_trade_r, queue_strategy_w_trade_r_for_query)
    # ===========运行交易端==========
    # tradeProcess = multiprocessing.Process(
    #     target=huaxin_trade_client.run,
    #     args=(queue_strategy_w_trade_r, queue_strategy_w_trade_r_for_query, queue_strategy_r_trade_w,))
    # tradeProcess.start()
    middle_server.run()
middle_api_server.py
@@ -394,8 +394,14 @@
                                                                     client_type=socket_manager.ClientSocketManager.CLIENT_TYPE_TRADE_SELL)
                            return_str = json.dumps(result)
                        elif type_ == "get_l1_data":
                            results = L1DataManager.get_current_l1_data()
                            results = L1DataManager().get_current_l1_data()
                            return_str = json.dumps({"code": 0, "data": results})
                        elif type_ == "set_l1_codes":
                            codes = data_json["data"]["codes"]
                            # 将代码暂存到本地
                            # 设置L1代码
                            L1DataManager().save_target_codes(codes)
                            return_str = json.dumps({"code": 0, "data": {}})
                    finally:
                        request_log_util.request_info("middle_api_server", f"请求结束:{type_}")
                break
middle_cb_api_server.py
@@ -4,7 +4,7 @@
import socket
import socketserver
from log_module import log, request_log_util
from log_module import request_log_util
from log_module.log import logger_request_debug
from utils import socket_util, hosting_api_util
middle_l1_data_server.py
@@ -2,12 +2,13 @@
import hashlib
import json
import logging
import os
import queue
import socket
import socketserver
import time
import constant
from log_module import log
from utils import socket_util
@@ -93,7 +94,14 @@
                    try:
                        if data_json["type"] == 'l1_data':
                            datas = data_json["data"]
                            L1DataManager.add_datas(datas)
                            L1DataManager().add_datas(datas)
                            break
                        elif data_json["type"] == 'get_l1_target_codes':
                            # 获取目标代码
                            codes = L1DataManager().get_target_codes()
                            sk.sendall(socket_util.load_header(json.dumps(
                                {"code": 0, "data": list(codes)}).encode(
                                encoding='utf-8')))
                            break
                    except Exception as e:
                        log.logger_tuoguan_request_debug.exception(e)
@@ -117,8 +125,28 @@
# L1数据管理
class L1DataManager:
    __l1_datas_dict = {}
    __target_codes = set()
    __instance = None
    def __new__(cls, *args, **kwargs):
        if not cls.__instance:
            cls.__instance = super(L1DataManager, cls).__new__(cls, *args, **kwargs)
            cls.__load_datas()
        return cls.__instance
    @classmethod
    def __load_datas(cls):
        try:
            with open(f"{constant.LOG_DIR}/l1_codes.txt", 'r', encoding='utf-8') as f:
                lines = f.readlines()
                for line in lines:
                    if line:
                        line = line.strip()
                        if line:
                            cls.__target_codes.add(line)
        except:
            pass
    def add_datas(cls, datas):
        for data in datas:
            """
@@ -126,9 +154,22 @@
            """
            cls.__l1_datas_dict[data[0]] = data
    @classmethod
    def get_current_l1_data(cls):
        return [cls.__l1_datas_dict[x] for x in cls.__l1_datas_dict]
    def get_current_l1_data(self):
        return [self.__l1_datas_dict[x] for x in self.__l1_datas_dict]
    def save_target_codes(self, codes):
        # 保存目标代码
        self.__target_codes = codes
        # 将代码保存到文件
        path = f"{constant.LOG_DIR}/l1_codes.txt"
        if not os.path.exists(constant.LOG_DIR):
            os.mkdir(constant.LOG_DIR)
        with open(path, 'w', encoding='utf-8') as f:
            for code in codes:
                f.write(f"{code}\n")
    def get_target_codes(self):
        return  self.__target_codes
def run(port):
@@ -140,4 +181,4 @@
if __name__ == "__main__":
    print(builtins.type("") == str)
    print( L1DataManager().get_target_codes())
middle_server.py
@@ -18,7 +18,6 @@
from log_module.log import logger_debug
from middle_l1_data_server import L1DataManager
from output import push_msg_manager
from trade import huaxin_trade_api
from utils import socket_util, kpl_api_util, hosting_api_util, kp_client_msg_manager, global_data_cache_util, tool
from utils.juejin_util import JueJinHttpApi
@@ -317,17 +316,8 @@
                            sk.sendall(socket_util.load_header(result_str.encode(encoding='utf-8')))
                        elif data_json["type"] == 'l1_data':
                            datas = data_json["data"]
                            L1DataManager.add_datas(datas)
                            L1DataManager().add_datas(datas)
                            break
                        elif data_json["type"] == "simulation_trade":
                            datas = data_json["data"]
                            ctype = datas["ctype"]
                            data = datas["data"]
                            result = huaxin_trade_api.request(ctype,data)
                            result_str = json.dumps({"code": 0, "data": result}, default=str)
                            sk.sendall(socket_util.load_header(result_str.encode(encoding='utf-8')))
                    except Exception as e:
                        log.logger_tuoguan_request_debug.exception(e)
                    finally:
trade/huaxin_trade_api.py
File was deleted
traderapi.py
File was deleted