VeighNa量化社区
你的开源社区量化交易平台
chenyi's Avatar
Member
离线
17 帖子
声望: 0

各位大佬,我最近在接tora的接口。发现几个奇怪的情况:
一、目前vnpy最新版的station是3.4,使用的是python3.10的版本,安装后并没有华鑫奇点的接口。我在gitee上找到vnpy_tora,支持python3.7,我猜测是否是因为python版本的问题不把tora打包到最新版安装包中?
二、把最新的vnpy_tora集成到支持python3.7的vnpy2.x版本中,登录专业交易仿真账号,登录后行情地址和交易地址成功,但是成功日志输出后,会迅速报错:
Process finished with exit code -1073740791 (0xC0000409)

为了解决这一问题, 我做了如下尝试:
1)把日志打在这一行
def process_contract_event(self, event: Event) -> None:
""""""
contract = event.data
print("contract : {}", contract)
self.contracts[contract.vt_symbol] = contract

日志输出:
event : {} ContractData(gateway_name='TORASTOCK', symbol='110038', exchange=<Exchange.SSE: 'SSE'>, name='济川转债', product=<Product.BOND: '债券'>, size=1, pricetick=0.001, min_volume=10, stop_supported
=False, net_position=True, history_data=False, option_strike=0, option_underlying='', option_type=None, option_expiry=None, option_portfolio='', option_index='')

Process finished with exit code -1073740791 (0xC0000409)

2)配置Configure中的Execution->Emulate terminal in output console,还是上面的报错,且没有打出具体报错。

3)尝试run方式(不是debugger)运行,会打出很多合约日志,但是报错依旧:
contract : {} ContractData(gateway_name='TORASTOCK', symbol='501200', exchange=<Exchange.SSE: 'SSE'>, name='科创加银', product=<Product.FUND: '基金'>, size=1, pricetick=0.001, min_volume=100, stop_supporte
d=False, net_position=True, history_data=False, option_strike=0, option_underlying='', option_type=None, option_expiry=None, option_portfolio='', option_index='')
contract : {} ContractData(gateway_name='TORASTOCK', symbol='501201', exchange=<Exchange.SSE: 'SSE'>, name='科创红土', product=<Product.FUND: '基金'>, size=1, pricetick=0.001, min_volume=100, stop_supporte
d=False, net_position=True, history_data=False, option_strike=0, option_underlying='', option_type=None, option_expiry=None, option_portfolio='', option_index='')

Process finished with exit code -1073740791 (0xC0000409)

4)尝试设置vm参数
-Xms1024m
-Xmx2048m

还是没有效果。

请问该如何定位解决这个问题?

中泰证券已经停止为vnpy新客户提供对接,请问vnpy还有其他方式可以接入实盘XTP吗?

  订单成交会在on_trade中发出止损单,在tick打到止损价时check_stop_order会发出限价单,同时stop_order状态变成triggered,这里有两个疑问:

1、此时发出的限价单一定会成功吗?在on_order中会监控止损单发出的限价单状态,如果是reject怎么处理?重新挂吗,这时候已经不能和止损单关联上了,部分成交是撤了重挂还是继续等?
2、止损单状态已是被触发,不区分成功或失败,有办法通过on_stop_order监控并处理它vt_orders的限价单状态吗?还是说必须用on_order订单状态去控制了?

换句话说订单的缓存是存在本地的哪里,找了一圈没找到本地持久化的地方。是在.vnstation下的.dat文件里放着吗?

# 发出限价单买1手
self.buy(self.current_close, 1)
# 发出止损单止损1手
self.sell(self.stop_price, self.buy_fix, True)

如果希望撤单同时撤掉这两个单子,怎么操作,求思路!

在jupterbook回测时候报这个错
description

在vnstation上可以进行回测。
description

现象:登录失败,服务器无法启动。

解决思路:使用命令行查看解决如下:

C:\Users\Administrator>python -m vnstation
qt.network.ssl: QSslSocket: cannot resolve EVP_PKEY_param_check
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_ciphersuites
qt.network.ssl: QSslSocket: cannot resolve SSL_set_psk_use_session_callback
qt.network.ssl: QSslSocket: cannot resolve SSL_SESSION_is_resumable
qt.network.ssl: QSslSocket: OpenSSL >= 1.1.1 is required; OpenSSL 1.1.0i 14 Aug 2018 was found instead
qt.network.ssl: QSslSocket: OpenSSL >= 1.1.1 is required; OpenSSL 1.1.0i 14 Aug 2018 was found instead
qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
qt.network.ssl: QSslSocket: OpenSSL >= 1.1.1 is required; OpenSSL 1.1.0i 14 Aug 2018 was found instead

原因: OpenSSL版本低,更换版本。具体操作参考:https://blog.csdn.net/xiaolong1126626497/article/details/105220160

安装完新的SSL后,将libcrypto-1_1.dll 和libssl-1_1.dll两个文件,替换vnstudio下的这两个文件(而不是替换lib中的)。

重启。

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】