| | |
| | | def request_plate_codes(i): |
| | | plate_name = i[1] |
| | | log_data = None |
| | | its_stock = json.loads(getCodesByPlate(i[0])) |
| | | if data_cache.OPENING_TIME < now_time < data_cache.NOON_MARKET_TIME: |
| | | log_data = {plate_name: its_stock['list']} |
| | | # 尝试过滤掉无意义的概念板块(plate_name not in ['科创板', '北交所', '次新股', '无', 'ST板块', 'ST摘帽', '并购重组', '国企改革','超跌', '壳资源', '股权转让', '送转填权']) and '增长' in plate_name |
| | | if (plate_name not in ['科创板', '北交所', '次新股', '无', 'ST板块', 'ST摘帽', '并购重组', '国企改革', '超跌', |
| | | '壳资源', '股权转让', '送转填权']) or ('增长' in plate_name): |
| | |
| | | # print(f"{i[1]} 强度:{i[2]}") |
| | | # 通过板块ID获取其下面的个股强度列表 |
| | | # print(f"======={i[0]}=======") |
| | | its_stock = json.loads(getCodesByPlate(i[0])) |
| | | log_data = {plate_name: its_stock['list']} |
| | | |
| | | # its_stock_list_info = its_stock['list'] |
| | | # logger.info(f"its_stock_list_info==={its_stock_list_info}") |
| | |
| | | stock_power_list = [] |
| | | for s in its_stock['list']: |
| | | # 过滤掉涨幅大于 and s[6] < 6.5 且小于0%的 和 名称中包含ST的 和 涨速小于等于0%的 和 只要昨日未涨停 和 上证或深证的正股 and s[9] > 0.0025 |
| | | if s[6] > 0 and s[1].find("ST") < 0 and s[1].find("XD") < 0 and s[23].find("板") < 0 and s[24].find( |
| | | "板") < 0 and (s[0].startswith('60') or s[0].startswith('00')) and s[9] > 1: |
| | | if s[6] > 0 and s[1].find("ST") < 0 and s[1].find("XD") < 0 and s[23].find("板") < 0 and s[24].find("板") < 0 and (s[0].startswith('60') or s[0].startswith('00')) and s[9] > 1: |
| | | # print(f"{s[1]},个股代码:{s[0]}, 涨幅:{s[6]}% 涨速:{s[9]}% 概念:{s[4]} 主力资金推测:{s[2]} 领涨次数:{s[40]} 今日第几板:{s[23]} 是否破版{s[24]}") |
| | | # 对个股强度 主要 属性列表进行装填 |
| | | its_stock_power = [s[1], s[0], s[6], s[9], s[4], s[2], s[40]] |
| | |
| | | try: |
| | | if data_cache.position_automatic_management_switch is True: |
| | | now_time = tool.get_now_time_str() |
| | | if data_cache.L1_DATA_START_TIME < now_time < data_cache.UPDATE_DATA_TIME: |
| | | if data_cache.L1_DATA_START_TIME < now_time < data_cache.CLOSING_TIME: |
| | | # 获取大盘综合强度分数 |
| | | data_cache.real_time_market_strong = get_market_strong() |
| | | # data_cache.time_sharing_market_strong_dirt = time_sharing_market_strong_dirt.update({now: data_cache.real_time_market_strong}) |
| | | # 该logger.info的的日志不再需要打印,后续将转入到GUI客户端上直接显示,该数据的打印交由下方的打印机制异步执行单独存储,以便后续可视化呈现后进行更高效的数据分析 |
| | | # logger.info(f"大盘行情情绪综合强度 [分数]==={data_cache.real_time_market_strong}分") |
| | | if data_cache.MORN_MARKET_CLOSING_TIME < now_time < data_cache.NOON_MARKET_OPENING_TIME: |
| | | pass |
| | | logger.info(f"午间休市时间内 不打印大盘综合强度分数") |
| | | else: |
| | | # 大盘综合强度分数 的 异步日志 |
| | | # logger_Overall_market_strength_score.info(data_cache.real_time_market_strong) |
| | | async_log_util.info(logger_Overall_market_strength_score, f"{data_cache.real_time_market_strong}") |
| | | |
| | | async_log_util.info(logger_Overall_market_strength_score, |
| | | f"{data_cache.real_time_market_strong}") |
| | | usefulMoney = data_cache.account_finance_dict[0].get('usefulMoney', 0) |
| | | logger.info(f"账户可用资金==={usefulMoney}元") |
| | | # 低迷情绪比例 |
| | |
| | | # 33分是个两级分化阶梯不好,目前不好拿捏,暂时不用 |
| | | # if data_cache.real_time_market_strong <= 33: |
| | | if data_cache.real_time_market_strong < 30: |
| | | low_emotion_mood_ratio = 0.1 |
| | | # 如果大盘综合强度分数小于30,将低迷情绪分数比例设置为0.01,可用资金缩小一百倍 |
| | | low_emotion_mood_ratio = 0.01 |
| | | if data_cache.real_time_market_strong <= 10: |
| | | low_emotion_mood_ratio = 0 |
| | | logger.info(f"极端低迷情绪比例===={low_emotion_mood_ratio * 100}%") |