| | |
| | | if sv is None: |
| | | result_json = {"code": 1, "msg": '代码变量对象不存在'} |
| | | else: |
| | | place_order_record_manager.set_buy(record[0]) |
| | | # 可以下单 |
| | | # 判断是否可以买 |
| | | order_ref = huaxin_util.create_order_ref() |
| | | price = tool.get_buy_max_price(sv.当前价) |
| | | volume = 100 |
| | | DealCodesManager().place_order(set(record[2].keys()), record[1], order_ref, price, volume) |
| | | trade_record_log_util.add_place_order_log(code, trade_record_log_util.PlaceOrderInfo(code=code, |
| | | time_str= |
| | | record[4], |
| | | price=sv.当前价, |
| | | rate=round(( |
| | | sv.当前价 - sv.昨日收盘价) * 100 / sv.昨日收盘价, |
| | | 2), |
| | | plates=record[ |
| | | 2].keys(), |
| | | plates_info= |
| | | record[2], |
| | | info=record[3] |
| | | )) |
| | | async_log_util.info(logger_trade, f"{code}下单,板块:{record[2].keys()}") |
| | | result_json = {"code": 0, "msg": '处理成功'} |
| | | try: |
| | | place_order_record_manager.set_buy(record[0]) |
| | | # 可以下单 |
| | | # 判断是否可以买 |
| | | order_ref = huaxin_util.create_order_ref() |
| | | price = tool.get_buy_max_price(sv.当前价) |
| | | volume = 100 |
| | | DealCodesManager().place_order(set(record[2].keys()), record[1], order_ref, price, volume) |
| | | trade_record_log_util.add_place_order_log(code, trade_record_log_util.PlaceOrderInfo(code=code, |
| | | time_str= |
| | | record[4], |
| | | price=sv.当前价, |
| | | rate=round(( |
| | | sv.当前价 - sv.昨日收盘价) * 100 / sv.昨日收盘价, |
| | | 2), |
| | | plates=record[ |
| | | 2].keys(), |
| | | plates_info= |
| | | record[2], |
| | | info=record[3] |
| | | )) |
| | | async_log_util.info(logger_trade, f"{code}下单,板块:{record[2].keys()}") |
| | | result_json = {"code": 0, "msg": '处理成功'} |
| | | except Exception as e: |
| | | logger_trade.exception(e) |
| | | result_json = {"code": 0, "msg": str(e)} |
| | | elif ctype == 'set_place_order_not_buy': |
| | | id_ = data.get("id") |
| | | place_order_record_manager = PlaceOrderRecordManager(tool.get_now_date_str()) |
| | |
| | | self.not_process_records = [(r[0], r[2], json.loads(r[3]), r[6],r[7], float(r[8]), float(r[9])) for r in results] |
| | | |
| | | def set_buy(self, id): |
| | | record = None |
| | | for r in self.not_process_records: |
| | | if r[0] == id: |
| | | self.not_process_records.remove(r) |
| | | self.mysql_db.execute( |
| | | f"update low_suction_place_order_records set state={STATE_BUY},update_time=now() where id ='{id}'") |
| | | record = r |
| | | if record: |
| | | self.not_process_records.remove(record) |
| | | self.mysql_db.execute( |
| | | f"update low_suction_place_order_records set state={STATE_BUY},update_time=now() where id ='{id}'") |
| | | # 将后续还未处理的同代码的拒绝 |
| | | ids = [r[0] for r in self.not_process_records if r[1] == record[1]] |
| | | for id_ in ids: |
| | | self.set_not_buy(id_, "已买入") |
| | | |
| | | |
| | | def set_not_buy(self, id, desc): |
| | | for r in self.not_process_records: |