| | |
| | | |
| | | # 卖单统计 |
| | | def statistic_sell_order(): |
| | | code = "002248" |
| | | def is_active_sell(sell_no, buy_no): |
| | | return sell_no > buy_no |
| | | |
| | | code = "002761" |
| | | data_map = log_export.load_huaxin_transaction_map(date=tool.get_now_date_str()) |
| | | datas = data_map.get(code) |
| | | __latest_sell_order_dict = {} |
| | | total_money = 0 |
| | | limit_up_price = 9.2 |
| | | last_type = -1 |
| | | |
| | | for data in datas: |
| | | for d in data: |
| | | if d[7] == 559018: |
| | | if d[7] > d[6]: |
| | | print("主动卖", d) |
| | | else: |
| | | print("被动卖", d) |
| | | |
| | | type = -1 |
| | | if d[7] > d[6]: |
| | | type = 0 |
| | | else: |
| | | type = 1 |
| | | if type == 0 and last_type == 1 and d[1] == limit_up_price: |
| | | print("被动卖变主动卖", d) |
| | | last_type = type |
| | | |
| | | # if d[6] == 21296620: |
| | | # if d[7] > d[6]: |
| | | # print("主动卖", d) |
| | | # else: |
| | | # print("被动卖", d[1] * d[2], d) |
| | | if code not in __latest_sell_order_dict: |
| | | __latest_sell_order_dict[code] = [d[7], d[2], d[1], (d[3], d[6]), (d[3], d[6])] |
| | | else: |
| | |
| | | __latest_sell_order_dict[code][4] = (d[3], d[6]) |
| | | else: |
| | | info = __latest_sell_order_dict[code] |
| | | money = info[1] * info[2] |
| | | if is_active_sell(info[0], info[3][1]) and 1000 * 10000 > money > 10 * 10000 and 7852775 > info[ |
| | | 0] > 7807625: |
| | | total_money += money |
| | | # print("主动卖:", round(money / 10000), total_money, info) |
| | | |
| | | # 上个卖单成交完成 |
| | | # 封存数据,计算新起点 |
| | | # 大于50w的卖单才会保存 |
| | | # 大于50w加入卖单 |
| | | money = info[1] * info[2] |
| | | if tool.trade_time_sub(l2_huaxin_util.convert_time(info[3][0]), "10:08:30") >= 0: |
| | | if info[2] >= 11.54: |
| | | total_money += money |
| | | print(money, round(total_money), info) |
| | | if money >= 500000: |
| | | pass |
| | | |
| | | # if tool.trade_time_sub(l2_huaxin_util.convert_time(info[3][0]), "10:08:30") >= 0: |
| | | # if info[2] >= 11.54: |
| | | # total_money += money |
| | | # print(money, round(total_money), info) |
| | | # if money >= 500000: |
| | | # pass |
| | | __latest_sell_order_dict[code] = [d[7], d[2], d[1], (d[3], d[6]), (d[3], d[6])] |
| | | |
| | | |
| | |
| | | |
| | | |
| | | def test_sell_order_info(): |
| | | code = "002248" |
| | | code = "600490" |
| | | l2_data_util.load_l2_data(code, force=True) |
| | | date = tool.get_now_date_str() |
| | | data_map = log_export.load_huaxin_transaction_map(date=date) |
| | |
| | | cancel_buy_strategy.SCancelBigNumComputer().set_real_place_order_index(code, 208, False) |
| | | cancel_buy_strategy.SCancelBigNumComputer().set_big_sell_order_info_for_cancel(code, big_sell_order_info, |
| | | OrderBeginPosInfo( |
| | | mode=OrderBeginPosInfo.MODE_ACTIVE,buy_single_index=0,buy_exec_index=13)) |
| | | mode=OrderBeginPosInfo.MODE_ACTIVE, |
| | | buy_single_index=0, |
| | | buy_exec_index=13)) |
| | | # if big_sell_order_info[0] < 50 * 10000: |
| | | # continue |
| | | # print(i, sum([x[1] * x[2] for x in big_sell_order_info[1]]), big_sell_order_info) |
| | | |
| | | |
| | | if __name__ == '__main__': |
| | | test_sell_order_info() |
| | | statistic_sell_order() |