各位大佬,我最近在接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回测时候报这个错
在vnstation上可以进行回测。
现象:登录失败,服务器无法启动。
解决思路:使用命令行查看解决如下:
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中的)。
重启。