| | |
| | | latest_add_codes = set() |
| | | |
| | | |
| | | def compute_code_order(code, top_in_blocks=None, yesterday_limit_up_codes=None, today_history_limit_up_codes=None): |
| | | def compute_code_order(code, top_in_blocks=None, yesterday_limit_up_codes=None, today_history_limit_up_codes=None, top_out_blocks=None): |
| | | """ |
| | | 计算代码的排序 |
| | | @param code: |
| | |
| | | yesterday_limit_up_codes = set() |
| | | if top_in_blocks is None: |
| | | top_in_blocks = [] |
| | | if top_out_blocks is None: |
| | | top_out_blocks = [] |
| | | if today_history_limit_up_codes is None: |
| | | today_history_limit_up_codes = set() |
| | | # 高位板 |
| | |
| | | if b in top_in_blocks: |
| | | index = top_in_blocks.index(b) |
| | | return index + 1 |
| | | else: |
| | | # 辨识度的票没在净流入中,只要不在净流出中就订阅 |
| | | if b not in top_out_blocks: |
| | | return 200 |
| | | else: |
| | | # 没有辨识度,新板块订阅前3 |
| | | new_blocks = LimitUpCodesBlockRecordManager().get_new_blocks() |
| | |
| | | return 10000 |
| | | |
| | | |
| | | def accept_prices(prices, request_id=None, top_in_blocks=None, yesterday_limit_up_codes=None): |
| | | def accept_prices(prices, request_id=None, top_in_blocks=None, yesterday_limit_up_codes=None, top_out_blocks=None): |
| | | """ |
| | | 接收价格,处理订阅 |
| | | @param yesterday_limit_up_codes: 昨日涨停数据 |
| | |
| | | if pricePre is not None: |
| | | # 是否是想买单 |
| | | order_index = compute_code_order(code, top_in_blocks, yesterday_limit_up_codes, |
| | | today_history_limit_up_codes) |
| | | today_history_limit_up_codes, top_out_blocks=top_out_blocks) |
| | | rate = round((price - pricePre) * 100 / pricePre, 2) |
| | | if tool.is_ge_code(code): |
| | | # 创业板的涨幅需要打折 |