| | |
| | | # 获取近90天的最大量与最近的量 |
| | | # 获取最近一次涨停/涨停下一个交易日的最大值 |
| | | def get_volumns_by_code(code, count=60, juejin=False): |
| | | datas = HistoryKDatasUtils.get_history_tick_n(code, count, "open,high,low,close,volume,pre_close,bob,amount", juejin=juejin) |
| | | datas = HistoryKDatasUtils.get_history_tick_n(code, count, "open,high,low,close,volume,pre_close,bob,amount", |
| | | juejin=juejin) |
| | | if not datas: |
| | | return None |
| | | # 计算 |
| | |
| | | |
| | | # 判断是否涨停过 |
| | | target_index = None |
| | | has_limited_up = False |
| | | for i in range(len(datas)): |
| | | data = datas[i] |
| | | if __is_limited_up(data): |
| | | has_limited_up = True |
| | | next_data = None |
| | | if i > 0: |
| | | next_data = datas[i - 1] |
| | |
| | | target_index = i |
| | | if data['volume'] > datas[target_index]['volume']: |
| | | target_index = i |
| | | return datas[target_index]['volume'], datas[target_index]['volume'], datas[target_index]['bob'].strftime( |
| | | # 如果60个交易日没涨停,需要在最高量的基础上x2 |
| | | return datas[target_index]['volume'] * (2 if not has_limited_up else 1), datas[target_index]['volume'] * ( |
| | | 2 if not has_limited_up else 1), datas[target_index]['bob'].strftime( |
| | | "%Y-%m-%d"), target_index |
| | | |
| | | |
| | |
| | | if d["volume"] > max_volume_info[0]: |
| | | max_volume_info = (d["volume"], d) |
| | | if max_volume_info: |
| | | return max_volume_info[0], max_volume_info[1]['bob'].strftime("%Y-%m-%d") |
| | | return max_volume_info[0], max_volume_info[1]['bob'].strftime("%Y-%m-%d") |
| | | return None, None |
| | | |
| | | |