| | |
| | | result = trade_api.order(trade_api.TRADE_DIRECTION_BUY, code, volume, |
| | | round(float(price), 2)) |
| | | if result: |
| | | resultJSON = trade_api.parseResponse(result) |
| | | resultJSON = result |
| | | print("下单结果:", resultJSON) |
| | | if resultJSON['code'] == 0: |
| | | # TODO 下单成功保存下单结果数据 |
| | | pass |
| | | return_str = json.dumps({"code": 0}) |
| | | else: |
| | | # 返回下单失败 |
| | | raise Exception("下单失败") |
| | | raise Exception(resultJSON['msg']) |
| | | except Exception as e: |
| | | raise e |
| | | elif type_ == 'cancel_order': |
| | |
| | | # 是否强制卖0/1 |
| | | force_sell = codes_data["force"] |
| | | # TODO 强制卖策略 |
| | | if volume == 0: |
| | | # TODO 获取持仓的量 |
| | | pass |
| | | if not price: |
| | | # 获取现价 |
| | | prices = HistoryKDatasUtils.get_now_price([code]) |
| | | if not prices: |
| | | raise Exception("现价获取失败") |
| | | # 已现价的5档价卖 |
| | | price = prices[0][1] - 0.04 |
| | | |
| | | result = trade_api.order(trade_api.TRADE_DIRECTION_SELL, code, volume, price) |
| | | print("---卖出结果----") |
| | | print(result) |
| | |
| | | # sk.close() |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | return_str = json.dumps({"code": 401, "msg": str(e)}) |
| | | break |
| | | finally: |
| | | pass |
| | | sk.sendall(return_str.encode(encoding='utf-8')) |
| | | |
| | | def finish(self): |
| | | super().finish() |
| | |
| | | hx_logger_trade_debug.info(f"获取交易数据开始:{type_}") |
| | | |
| | | if type_ == "delegate_list": |
| | | data = huaxin_trade_api.get_delegate_list(False) |
| | | dataJSON = json.loads(data) |
| | | dataJSON = huaxin_trade_api.get_delegate_list(False) |
| | | if dataJSON["data"]["code"] == 0: |
| | | data = dataJSON["data"]["data"] |
| | | huaxin_trade_record_manager.DelegateRecordManager.add(data) |
| | | elif type_ == "money": |
| | | data = huaxin_trade_api.get_money() |
| | | dataJSON = json.loads(data) |
| | | dataJSON = huaxin_trade_api.get_money() |
| | | if dataJSON["data"]["code"] == 0: |
| | | data = dataJSON["data"]["data"] |
| | | huaxin_trade_record_manager.MoneyManager.save_data(data) |
| | | elif type_ == "deal_list": |
| | | data = huaxin_trade_api.get_deal_list() |
| | | dataJSON = json.loads(data) |
| | | dataJSON = huaxin_trade_api.get_deal_list() |
| | | if dataJSON["data"]["code"] == 0: |
| | | data = dataJSON["data"]["data"] |
| | | huaxin_trade_record_manager.DealRecordManager.add(data) |
| | | # 持仓股 |
| | | elif type_ == "position_list": |
| | | data = huaxin_trade_api.get_position_list() |
| | | dataJSON = huaxin_trade_api.parseResponse(data) |
| | | dataJSON = huaxin_trade_api.get_position_list() |
| | | if dataJSON["code"] == 0: |
| | | data = dataJSON["data"] |
| | | huaxin_trade_record_manager.PositionManager.add(data) |