| | |
| | | |
| | | |
| | | # 是否涨得太高 |
| | | def is_up_too_high(record_datas): |
| | | def is_up_too_high_in_10d(record_datas): |
| | | datas = copy.deepcopy(record_datas) |
| | | datas.sort(key=lambda x: x["bob"]) |
| | | datas = datas[-10:] |
| | |
| | | return False |
| | | |
| | | |
| | | # 120 天内是否长得太高 |
| | | def is_up_too_high_in_120d(record_datas): |
| | | datas = copy.deepcopy(record_datas) |
| | | datas.sort(key=lambda x: x["bob"]) |
| | | datas = datas[-120:] |
| | | today_limit_up_price = round(float(gpcode_manager.get_limit_up_price_by_preprice(datas[-1]["close"])), 2) |
| | | max_price = 0 |
| | | for data in datas: |
| | | if data["high"] > max_price: |
| | | max_price = data["high"] |
| | | if today_limit_up_price <= max_price: |
| | | return False |
| | | |
| | | # 计算120天的均价 |
| | | total_amount = 0 |
| | | total_volume = 0 |
| | | for data in datas: |
| | | total_amount += data["amount"] |
| | | total_volume += data["volume"] |
| | | average_price = round(total_amount / total_volume, 2) |
| | | if (today_limit_up_price - average_price) / average_price > 0.3: |
| | | return True |
| | | else: |
| | | return False |
| | | |
| | | |
| | | # 是否有涨停 |
| | | def get_first_limit_up_count(datas): |
| | | datas = copy.deepcopy(datas) |