| | |
| | | from code_attribute import code_nature_analyse, code_volumn_manager, gpcode_manager |
| | | from code_attribute.code_l1_data_manager import L1DataManager |
| | | from l2.l2_sell_manager import L2MarketSellManager |
| | | from l2.l2_transaction_data_manager import BigOrderDealManager |
| | | from log_module import async_log_util |
| | | from log_module.log import logger_l2_radical_buy |
| | | from third_data import kpl_data_manager |
| | |
| | | if not k_format[13]: |
| | | return False, "近60个交易日无涨停" |
| | | if k_format[14]: |
| | | # 昨天炸板,且当前的量比小于33% |
| | | # 昨天炸板,且当前的量比小于60% |
| | | current_total_sell_data = L2MarketSellManager().get_current_total_sell_data(code) |
| | | total_sell_volume = 0 |
| | | if current_total_sell_data: |
| | | total_sell_volume = current_total_sell_data[2] |
| | | volume_rate = code_volumn_manager.get_volume_rate(code, total_sell_volume=total_sell_volume) |
| | | if volume_rate < 0.33: |
| | | return False, f"昨日炸板,量比({volume_rate})<0.33" |
| | | if volume_rate < 0.6: |
| | | return False, f"昨日炸板,量比({volume_rate})<0.6" |
| | | |
| | | # MAX_CODE_PRICE = 50 |
| | | # MIN_CODE_PRICE = 2 |
| | |
| | | return False, "已拉黑" |
| | | return True, "" |
| | | |
| | | @classmethod |
| | | def big_order_deal(cls, code): |
| | | """ |
| | | 有大单成交 |
| | | @param code: |
| | | @param count: |
| | | @return: |
| | | """ |
| | | if gpcode_manager.MustBuyCodesManager().is_in_cache(code): |
| | | return |
| | | cls.place_order_success(code) |
| | | |
| | | @classmethod |
| | | def place_order_success(cls, code): |
| | | # 如果有大单成交就加红 |
| | | deal_big_order_count = BigOrderDealManager().get_total_buy_count(code) |
| | | if deal_big_order_count > 0: |
| | | gpcode_manager.MustBuyCodesManager().add_code(code) |
| | | |
| | | |
| | | def is_block_can_radical_buy(code, radical_buy_blocks, deal_codes): |
| | | # 原因下面的代码个数 |