1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| import multiprocessing
| import threading
| import time
|
| import data_server
| from log_module import async_log_util
| from log_module.log import logger_debug
| from trade import huaxin_trade_api, huaxin_trade_data_update
|
|
| def __test():
| time.sleep(5)
| # 下单
| # result = huaxin_trade_api.order(1, "002184", 1000, 20.40, blocking=True)
| # print("下单结果", result)
| # result = huaxin_trade_api.order(1, "002400", 1000, 8.23, blocking=True)
| # print("下单结果", result)
| print("当日成交", huaxin_trade_api.get_deal_list(blocking=True))
| print("委托列表", huaxin_trade_api.get_delegate_list(blocking=True))
| print("持仓", huaxin_trade_api.get_position_list(blocking=True))
| """
| 获取账户资金, 返回示例:
| {'code': 0, 'data': [{'departmentID': '0001', 'investorID': '00032047', 'accountID': '00032047', 'currencyID': '1', 'usefulMoney': 39305420.68, 'frozenCash': 0.0, 'fetchLimit': 39305420.68, 'preDeposit': 39305420.68}]}
| """
| print("账户资金", huaxin_trade_api.get_money(blocking=True))
|
|
| if __name__ == '__main__':
| class MyTradeCallback(huaxin_trade_api.TradeCallback):
| def on_order(self, order_info):
| """
| 订单状态改变回调
| :param order_info: {'sinfo': 'b_603682_1736312765623', 'securityID': '603682', 'orderLocalID': '8100043081', 'direction': '0', 'orderSysID': '110018100043081', 'insertTime': '13:06:04', 'insertDate': '20250108', 'acceptTime': '13:05:46', 'cancelTime': '', 'limitPrice': 6.45, 'accountID': '00032047', 'orderRef': 130608, 'turnover': 6410.0, 'volume': 1000, 'volumeTraded': 1000, 'orderStatus': '4', 'orderSubmitStatus': '1', 'statusMsg': ''}
| :return:
| """
| logger_debug.info(f"收到订单回调:{order_info}")
| huaxin_trade_data_update.add_money_list()
| huaxin_trade_data_update.add_deal_list()
| huaxin_trade_data_update.add_position_list()
| huaxin_trade_data_update.add_delegate_list("订单状态变化")
|
|
|
| queue = multiprocessing.Queue()
| huaxin_trade_api.run_trade(queue, MyTradeCallback())
| threading.Thread(target=data_server.run, daemon=True).start()
| threading.Thread(target=__test, daemon=True).start()
| threading.Thread(target=async_log_util.run_sync, daemon=True).start()
| while True:
| time.sleep(2)
|
|