| | |
| | | # from datetime import time |
| | | # from datetime import timedelta |
| | | import time |
| | | |
| | | import constant |
| | | import utils.tool |
| | | from log_module import async_log_util |
| | | from log_module.log import logger_kpl_jingxuan_in, logger_common |
| | |
| | | from strategy import basic_methods |
| | | from strategy import account_management |
| | | from strategy import order_methods |
| | | from strategy.forbidden_plates_manager import ForbiddenPlatesManager |
| | | from strategy.order_methods import TodayBuyCodeManager |
| | | |
| | | from utils import tool, huaxin_util |
| | |
| | | # print(f"没有在概念缓存列表中找到:{symbol_to_search}。") |
| | | |
| | | # 声明要检查过滤不可用的概念板块名称常量 【代表着 是否有无概念及跟随概念的可能性(有明显个股独特增长特性的不可跟随,因为概念本身是宽泛的,许多不同概念的个股都有这个概念)】 |
| | | check_plate_list = {'无', 'ST摘帽', 'ST板块', '超跌', '次新股', '北交所', '科创板', |
| | | '年报增长', '年报预增', '并购重组', '股权转让', '送转填权', '高送转', '壳资源', |
| | | '资产管理', '举牌', |
| | | '专用设备', '创投'} |
| | | # check_plate_list = constant.check_plate_list | set(ForbiddenPlatesManager().list_plates()) |
| | | check_plate_list = constant.check_plate_list |
| | | |
| | | # 查询当前个股的代码是否在板块强度个股列表中(低吸优选目标) |
| | | strength_list_have_it = False # 是否有强度赋初值 |
| | |
| | | logger_info( |
| | | f"【不利】自由市值小于6亿!不买!! 公司名称:{k_line_data[0]['sec_name']},最新价: {current_price}") |
| | | return |
| | | if ( |
| | | free_market_value == 0 or free_market_value == 0.0) and free_market_value > 100 and L2_found_big_order is False: |
| | | if (free_market_value != 0 or free_market_value != 0.0) and free_market_value > 100 and L2_found_big_order is False: |
| | | logger_info( |
| | | f"【不利】自由市值大于100亿,且未发现大单!不买!! 公司名称:{k_line_data[0]['sec_name']},最新价: {current_price}") |
| | | return |
| | |
| | | data_cache.bought_plate.extend(limit_up_plate_included_list) |
| | | logger_info( |
| | | f"【{k_line_data[0]['sec_name']}】交易成功!持仓集合:{data_cache.position_symbols_set}") |
| | | # 传给GUI显示 |
| | | purchased_stock_details = { |
| | | "name": k_line_data[0]['sec_name'], |
| | | "policy_name": "有概念有强度策略分支", |
| | | "plate_name": limit_up_plate_included, |
| | | "buy_time_trading_volume_ratio":(current_volume / k_line_data[0]['volume']), |
| | | "buy_time_trading_volume_ratio": (current_volume / k_line_data[0]['volume']), |
| | | } |
| | | data_cache.purchased_stocks_details_list.append(purchased_stock_details) |
| | | logger_info(f"已成交股票详情列表:{purchased_stocks_details_list} ") |
| | | logger_info(f"已成交股票详情列表:{data_cache.purchased_stocks_details_list} ") |
| | | |
| | | # 有概念无强度视界 |
| | | if strength_list_have_it is False: |
| | |
| | | logger_info( |
| | | f"【不利】自由市值小于6亿!不买!! 公司名称:{k_line_data[0]['sec_name']},最新价: {current_price}") |
| | | return |
| | | if ( |
| | | free_market_value == 0 or free_market_value == 0.0) and free_market_value > 100 and L2_found_big_order is False: |
| | | if (free_market_value != 0 or free_market_value != 0.0) and free_market_value > 100 and L2_found_big_order is False: |
| | | logger_info( |
| | | f"【不利】自由市值大于100亿,且未发现大单!不买!! 公司名称:{k_line_data[0]['sec_name']},最新价: {current_price}") |
| | | return |
| | |
| | | data_cache.bought_plate.extend(limit_up_plate_included_list) |
| | | logger_info( |
| | | f"【{k_line_data[0]['sec_name']}】交易成功!持仓集合:{data_cache.position_symbols_set}") |
| | | # 传给GUI显示 |
| | | purchased_stock_details = { |
| | | "name": k_line_data[0]['sec_name'], |
| | | "policy_name": "有概念无强度策略分支", |
| | | "plate_name": limit_up_plate_included, |
| | | "buy_time_trading_volume_ratio": ( |
| | | current_volume / k_line_data[0]['volume']), |
| | | } |
| | | data_cache.purchased_stocks_details_list.append(purchased_stock_details) |
| | | logger_info( |
| | | f"已成交股票详情列表:{data_cache.purchased_stocks_details_list} ") |
| | | ''' |
| | | 无概念 有强度视界 |
| | | ''' |
| | | if len(limit_up_plate_included) == 0 or limit_up_plate_included.issubset( |
| | | check_plate_list) is True: |
| | | # logger_info(f"【无概念】") |
| | | # logger_info(f"【无概念 或 概念在屏蔽概念组中】") |
| | | if strength_list_have_it is True: |
| | | logger_info( |
| | | f"【{k_line_data[0]['sec_name']}】--------------------------------------------------------------------------------------------------------[有强度视界]") |
| | |
| | | # logger_info( |
| | | # f"【不利】有强度的板块中没有发现领涨次数!不买!! 公司名称:{k_line_data[0]['sec_name']},最新价: {current_price}") |
| | | # return |
| | | if (free_market_value == 0 or free_market_value == 0.0) and free_market_value > 100 and L2_found_big_order is False: |
| | | if (free_market_value != 0 or free_market_value != 0.0) and free_market_value > 100 and L2_found_big_order is False: |
| | | logger_info( |
| | | f"【不利】自由市值大于100亿,且未发现大单!不买!! 公司名称:{k_line_data[0]['sec_name']},最新价: {current_price}") |
| | | return |
| | |
| | | data_cache.bought_plate.extend(strength_plate) |
| | | logger_info( |
| | | f"【{k_line_data[0]['sec_name']}】交易成功!持仓集合:{data_cache.position_symbols_set}") |
| | | # 传给GUI显示 |
| | | purchased_stock_details = { |
| | | "name": k_line_data[0]['sec_name'], |
| | | "policy_name": "无概念有强度策略分支", |
| | | "plate_name": strength_plate, |
| | | "buy_time_trading_volume_ratio": ( |
| | | current_volume / k_line_data[0]['volume']), |
| | | } |
| | | data_cache.purchased_stocks_details_list.append( |
| | | purchased_stock_details) |
| | | logger_info( |
| | | f"已成交股票详情列表:{data_cache.purchased_stocks_details_list} ") |
| | | ''' |
| | | 无概念无强度 有小量换大涨幅度视界 |
| | | ''' |