9个文件已修改
53 ■■■■■ 已修改文件
data_server.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
log_module/log_export.py 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/basic_methods.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/buying_strategy.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/data_cache.py 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/kpl_api.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/kpl_data_manager.py 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/plate_strength_analysis.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data_server.py
@@ -17,7 +17,7 @@
from log_module import log_export, async_log_util
from log_module.log import hx_logger_l2_transaction, logger_debug, logger_request_api
from strategy import data_cache
from strategy.kpl_data_manager import KPLStockOfMarketsPlateLogManager, KPLMarketStockHeatLogManager
from strategy.kpl_data_manager import KPLMarketsSiftPlateLogManager, KPLMarketStockHeatLogManager
from strategy.trade_setting import TradeSetting
from trade import huaxin_trade_api, huaxin_trade_data_update
from trade.huaxin_trade_record_manager import DelegateRecordManager, DealRecordManager, MoneyManager, PositionManager
@@ -193,9 +193,9 @@
                if use_time_list and use_time_list[-1][1] > 10:
                    logger_debug.warning(f"环境获取时间大于10s({request_id}):{use_time_list}")
        # 获取板块强度数据
        elif url.path == "/load_get_kpl_market_sift_plate":
        elif url.path == "/load_kpl_market_sift_plate":
            # 加载数据
            KPLStockOfMarketsPlateLogManager().load_data()
            KPLMarketsSiftPlateLogManager().load_data()
            response_data = json.dumps({"code": 0, "msg": "暂无内容"})
        elif url.path == "/get_kpl_market_sift_plate":
            # 获取开盘啦流入板块详细信息
@@ -204,7 +204,7 @@
                time_str = params_dict.get("time")
                if not time_str:
                    time_str = tool.get_now_time_str()
                fdatas = KPLStockOfMarketsPlateLogManager().get_filter_log_datas()
                fdatas = KPLMarketsSiftPlateLogManager().get_filter_log_datas()
                response_data = json.dumps({"code": 1, "msg": "暂无内容"})
                for i in range(len(fdatas) - 1, -1, -1):
                    if fdatas[i][0] <= time_str:
log_module/log_export.py
@@ -53,7 +53,7 @@
    return contents
def load_market_stock_heat(date=tool.get_now_date_str()):
def load_market_sift_plate(date=tool.get_now_date_str()):
    """
     获取精选流入的成分股
    :param date:
@@ -66,11 +66,9 @@
            lines = f.readlines()
            for line in lines:
                if line:
                    time_str = __get_async_log_time(line)
                    time_str = __get_log_time(line)
                    try:
                        data = line.split(" - ")[1].strip()
                        if data.startswith("["):
                            data = data[data.find("]") + 1:].strip()
                        data_dict = eval(data)
                        fdatas.append((time_str, data_dict))
                    except:
@@ -128,7 +126,7 @@
if __name__ == '__main__':
    datas = load_kpl_market_strong()
    datas = load_market_sift_plate()
    fdatas = []
    for data in datas:
        # (距离09:15:00的秒数, 时间, 强度)
main.py
@@ -243,7 +243,8 @@
    # 加载开盘啦板块日志数据
    kpl_data_manager.KPLStockOfMarketsPlateLogManager()
    kpl_data_manager.KPLMarketsSiftPlateLogManager()
    kpl_data_manager.KPLMarketStockHeatLogManager()
    # 启动异步日志
    threading.Thread(target=async_log_util.run_sync, daemon=True).start()
strategy/basic_methods.py
@@ -211,10 +211,10 @@
# 充分交易量公式 用于计算日内涨幅段理论的安全交易量值
def sufficient_volume(current_volume, yesterday_volume, today_growth):
    if today_growth > 0:
        if current_volume < yesterday_volume * today_growth:
            return False
        else:
        if current_volume > yesterday_volume * 0.8 * today_growth:
            return True
        else:
            return False
# 计算 委买和委卖的比例函数(获取买盘强度数据)【掘金数据结构】
strategy/buying_strategy.py
@@ -384,6 +384,8 @@
                                            logger_info(
                                                f"【不利】当日成交量小于昨日成交量的{ratios}倍!不买!!公司名称:{k_line_data[0]['sec_name']},当日当时总成交量:{current_volume},最新价: {current_price}")
                                            return
                                        data_cache.willing_buy_list.add_buy_code(k_line_data[0]['sec_name'])
                                        logger_info(f"当前有意购买:{k_line_data[0]['sec_name']},有意购买列表:{data_cache.willing_buy_list}")
                                        if len(intersection_plate) > 0:
                                            logger_info(
                                                f"【不利】同概念只买一次,不买了,公司名称:{k_line_data[0]['sec_name']},重复相交概念==={intersection_plate}")
strategy/data_cache.py
@@ -273,7 +273,10 @@
# 最新成交价格
latest_deal_price_dict = {}
logging.info(f"全局初始化数据  完成《《《 - {os.getpid()}")
# 大单成交数据: {"代码":[大单数据1,大单数据2,...]}
big_order_deal_dict = {}
# 有意购买的股票名称列表
willing_buy_list = []
logging.info(f"全局初始化数据  完成《《《 - {os.getpid()}")
strategy/kpl_api.py
@@ -15,7 +15,7 @@
from strategy import data_cache
from strategy import basic_methods
from strategy.kpl_data_manager import KPLStockOfMarketsPlateLogManager
from strategy.kpl_data_manager import KPLMarketsSiftPlateLogManager
from trade import middle_api_protocol
from utils import hx_qc_value_util, tool
strategy/kpl_data_manager.py
@@ -2,9 +2,10 @@
from log_module.log import logger_stock_of_markets_plate, logger_debug, logger_kpl_market_sift_plate
from utils import tool
# 开盘啦个股强度日志管理
# 开盘啦板块强度日志管理
@tool.singleton
class KPLStockOfMarketsPlateLogManager:
class KPLMarketsSiftPlateLogManager:
    """
    精选流入板块与板块代码日志管理
    """
@@ -15,12 +16,12 @@
    def __load_data(self):
        if tool.get_now_time_str() > '13:10:00':
            logger_debug.info("KPLMarketStockHeatLogManager 开始加载数据")
            datas = log_export.load_market_stock_heat()
            logger_debug.info("KPLMarketsSiftPlateLogManager 开始加载数据")
            datas = log_export.load_market_sift_plate()
            for data in datas:
                # (发生时间,[净流入板块], {"板块":(代码, 名称, 涨幅)})
                self.__filter_log_datas.append(self.__filter_origin_data(data))
            logger_debug.info("KPLMarketStockHeatLogManager 数据加载完成:{}", len(self.__filter_log_datas))
            logger_debug.info("KPLMarketsSiftPlateLogManager 数据加载完成:{}", len(self.__filter_log_datas))
    def load_data(self):
        self.__load_data()
@@ -35,6 +36,7 @@
    def get_filter_log_datas(self):
        return self.__filter_log_datas
# 开盘啦个股强度日志管理
@tool.singleton
@@ -72,4 +74,4 @@
if __name__ == '__main__':
    KPLStockOfMarketsPlateLogManager()
    KPLMarketStockHeatLogManager()
strategy/plate_strength_analysis.py
@@ -7,6 +7,7 @@
from log_module.log import logger_common, logger_kpl_jingxuan_in, logger_debug, logger_kpl_market_sift_plate
from strategy import kpl_api, data_cache, basic_methods
from strategy.kpl_data_manager import KPLMarketStockHeatLogManager
from utils import tool, hx_qc_value_util
@@ -101,7 +102,7 @@
        # logger.info(f"精选板块股票强度数据更新 == {market_sift_plate_stock_dict}")
        # 只在盘中时间获取
        kpl_api.KPLStockOfMarketsPlateLogManager().add_log(market_sift_plate['list'], log_datas)
        KPLMarketStockHeatLogManager().add_log(market_sift_plate['list'], log_datas)
    # 行情》精选板块》排名前20中》对应个股》符合条件的个股
    return market_sift_plate_stock_dict