| | |
| | | pass |
| | | |
| | | @classmethod |
| | | def start_buy(cls, code, last_data, last_data_index, is_first_code): |
| | | def __is_pre_can_buy(cls, code): |
| | | """ |
| | | 预判断是否可买 |
| | | @param code: |
| | | @return: |
| | | """ |
| | | if not cls.__TradeStateManager.is_can_buy_cache(): |
| | | return False, True, f"今日已禁止交易", True |
| | | |
| | |
| | | now_time_int = int(tool.get_now_time_str().replace(":", "")) |
| | | if now_time_int >= 145700: |
| | | return False, True, f"14:57后不能交易", True |
| | | cls.__buy(code, 0, last_data, last_data_index, is_first_code) |
| | | return True, False, f"", False |
| | | |
| | | @classmethod |
| | | def start_buy(cls, code, last_data, last_data_index, is_first_code): |
| | | pre_result = cls.__is_pre_can_buy(code) |
| | | if pre_result[0]: |
| | | cls.__buy(code, 0, last_data, last_data_index, is_first_code) |
| | | |
| | | @classmethod |
| | | def get_active_buy_blocks(cls, code): |
| | |
| | | @return:(是否可以下单, 是否清理信号数据, 不能下单消息, 是否算有效执行) |
| | | """ |
| | | |
| | | if not cls.__TradeStateManager.is_can_buy_cache(): |
| | | return False, True, f"今日已禁止交易", True |
| | | pre_result = cls.__is_pre_can_buy(code) |
| | | if not pre_result[0]: |
| | | return pre_result[0],pre_result[1], pre_result[2], pre_result[3] |
| | | |
| | | if l2_trade_util.is_in_forbidden_trade_codes(code): |
| | | return False, True, f"代码禁止交易", True |
| | | |
| | | if cls.__PauseBuyCodesManager.is_in_cache(code): |
| | | return False, True, f"该代码被暂停交易", True |
| | | now_time_int = int(tool.get_now_time_str().replace(":", "")) |
| | | if now_time_int >= 145700: |
| | | return False, True, f"14:57后不能交易", True |
| | | if 130100 >= now_time_int >= 112900 or now_time_int < 93100: |
| | | if now_time_int < 93100: |
| | | # 判断近120天是否有涨停 |