| | |
| | | return vals |
| | | |
| | | def clear_data(self, code): |
| | | pass |
| | | key_regex = f"safe_count_l2-{code}-*" |
| | | keys = self.__getRedis().keys(key_regex) |
| | | for k in keys: |
| | | self.__getRedis().delete(k) |
| | | |
| | | key = f"latest_place_order_info-{code}" |
| | | self.__getRedis().delete(key) |
| | | |
| | | # 获取基础的安全笔数 |
| | | def __get_base_save_count(self, code): |
| | |
| | | # 获取最后的安全笔数 |
| | | def get_safe_count(self, code): |
| | | rate = self.__get_rate(code) |
| | | print("--------------------------------") |
| | | print("安全笔数比例:", rate) |
| | | print("--------------------------------") |
| | | count = self.__get_base_save_count(code) |
| | | count = round(count * rate) |
| | | if count < 8: |
| | |
| | | data = total_datas[i] |
| | | val = data["val"] |
| | | # 如果没有取消位置就一直计算下去, 计算截至时间不能大于取消时间 |
| | | if cancel_time and int(cancel_time.split(":", "")) < int(val["time"].split(":", "")): |
| | | if cancel_time and int(cancel_time.replace(":", "")) < int(val["time"].replace(":", "")): |
| | | break_index = i |
| | | break |
| | | if break_index >= 0: |
| | | end_index = break_index - 1 |
| | | # 获取开始计算的位置 |
| | | start_compute_index = min(start_index, last_buy_single_index) |
| | | if start_compute_index <= process_index: |
| | | start_compute_index = process_index + 1 |
| | | |
| | | for i in range(start_index, end_index): |
| | | for i in range(start_compute_index, end_index): |
| | | data = total_datas[i] |
| | | val = data["val"] |
| | | if process_index >= i: |
| | |
| | | vals = self.__get_all_compute_progress(code) |
| | | rate = (1 - 0) |
| | | for val in vals: |
| | | rate *= (1 - round((val[2] - val[3]) / val[2], 4)) |
| | | temp_rate = (1 - round((val[2] - val[3]) / val[2], 4)) |
| | | if temp_rate > 1: |
| | | temp_rate = 1 |
| | | rate *= temp_rate |
| | | return rate |
| | | |
| | | # 下单成功 |