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

请教各位大神:我用这个批量回测文件时发现一个问题,就是越来越慢。比如我用同一个策略回测50个品种,刚开始一个品种只需花10分钟,但到了后来,一个品种要花上1-2个小时。请问这正常吗?有什么解决的办法吗?

因为不懂编程,研究了很久也没成功。后来还是调整成用write()函数直接把信息写到一个txt文件中去了,只不过相比logging要额外添一些时间信息,才能方便查阅。
感谢您的答复!

vnpy是很优秀的作品,以至于我这样完全不懂程序的也能摸索仿写出来一套自动化交易程序,实盘中也用了。当然,如果没有模板,哪怕很简单的问题也解决不了。现在遇到的问题是,write_log只能把日志打在屏幕上,我想同时输出到文件,所以,胡乱看了一些网上介绍,在程序中引入了logging.basicConfig()的设置,同时在每个self.write_log()语句后再重新加上一句logging.info()——这样肯定很傻,大家不要笑话。一个策略时,这样的方法是能用的,但同时开两个策略就发现,只有一个策略把日志输出到文件了。后来在logging.info()后面加上了for h in logging.getLogger().handlers[:]:
logging.getLogger().removeHandler(h)
的语句(自己不懂实际是什么意思,网上抄的),结果变成一个策略输出一句到文件后,后续的就都不再输出了。
求不吝赐教,指导一下该怎么做才能把日志输出到指定文件。最好是能具体一些。
如果今后的模板中能考虑解决这个问题就更好了,现在需要每天拷贝屏幕上的输出才能保存下来,不利于复盘。
水平太低,也不知道表达清楚了没有。实在不好意思。谢谢!

而且,再次连接ctp时候,是没有反应的。日志栏始终是第一次连接登录成功的信息

上午的截图也可以看出来,21:22连上服务器,22:41都没有合约信息查询成功

不好意思,没表达清楚。就是始终不出现‘合约信息查询成功’。晚上又试了几次,等10分钟都不出现。

已经拿到了永安实盘的授权码,登录后显示服务器连接成功、登录成功,但获取不了合约信息,如图所示。请问是什么问题?谢谢!
description

是金交所的。linux版本有如何操作,编写程序和进入接口的说明吗?谢谢您!

网上似乎搜索不到,本论坛的接口好像也没这个。求行家能详细介绍一下具体途径和方法。

太棒了。不过请教@上弦之月,为什么要把update_order函数活动委托定义中的【submitting】剔除?如果下单后时间间隔超过设置的10秒还没成交,那即使submitting的委托不也应该需要撤单吗?谢谢月总!

比如,在行情变化剧烈时实现追单的功能:下单后如果隔2秒未成交,需要在ontick中撤销前单、下新单。如果不确认前单已撤,下新单可能就重复了

进阶课程中提到了stop_order.status存在waiting等3种状态,那么,普通的limit订单有哪几种状态,又是如何获取的呢?
同时,如何确认程序发出的cancel_order()命令一定成功呢?
自己是小白,但感觉这些内容对订单控制很重要。谢谢指教!

谢谢!在vnstudio文件夹下安装后就能运行了。

谢谢!已经安装成功了,但是还是出现Traceback (most recent call last):
File "c:\vnstudio\lib\site-packages\vnstation\cli.py", line 90, in run_trader
module = importlib.import_module(d["module"])
File "c:\vnstudio\lib\importlib__init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "c:\vnstudio\lib\site-packages\vnpy\app\cta_backtester\
init__.py", line 5, in <module>
from .engine import BacktesterEngine, APP_NAME
File "c:\vnstudio\lib\site-packages\vnpy\app\cta_backtester\engine.py", line 17, in <module>
from vnpy.app.cta_strategy.backtesting import BacktestingEngine, OptimizationSetting
File "c:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\backtesting.py", line 13, in <module>
import plotly.graph_objects as go
ModuleNotFoundError: No module named 'plotly'

Traceback (most recent call last):
File "c:\vnstudio\lib\site-packages\vnstation\cli.py", line 90, in run_trader
module = importlib.import_module(d["module"])
File "c:\vnstudio\lib\importlib__init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "c:\vnstudio\lib\site-packages\vnpy\app\cta_backtester\
init__.py", line 5, in <module>
from .engine import BacktesterEngine, APP_NAME
File "c:\vnstudio\lib\site-packages\vnpy\app\cta_backtester\engine.py", line 17, in <module>
from vnpy.app.cta_strategy.backtesting import BacktestingEngine, OptimizationSetting
File "c:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\backtesting.py", line 13, in <module>
import plotly.graph_objects as go
ModuleNotFoundError: No module named 'plotly'

好的。再次感谢!

谢谢您的热心帮忙!已解决,随便选一个时区就行了

谢谢您的指导!这是运行结果。我的电脑时间不可调,就是系统时间、时区与internet同步无效(同步时间总是不准确或同步失败),手动调整电脑无反应,时区调整会迅速变回来(把windowstime和时区服务关闭了,也不行),把cmos时间调成准确时间后系统时间还是不一样。这个是影响因素吗?
Traceback (most recent call last):
File "C:\vnstudio\lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "C:\vnstudio\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\vnstudio\lib\site-packages\vnstation__main.py", line 4, in <module>
cli()
File "C:\vnstudio\lib\site-packages\click\core.py", line 829, in
call
return self.main(args, kwargs)
File "C:\vnstudio\lib\site-packages\click\core.py", line 782, in main
rv = self.invoke(ctx)
File "C:\vnstudio\lib\site-packages\click\core.py", line 1236, in invoke
return Command.invoke(self, ctx)
File "C:\vnstudio\lib\site-packages\click\core.py", line 1066, in invoke
return ctx.invoke(self.callback,
ctx.params)
File "C:\vnstudio\lib\site-packages\click\core.py", line 610, in invoke
return callback(
args, kwargs)
File "C:\vnstudio\lib\site-packages\click\decorators.py", line 21, in new_func
return f(get_current_context(), *args,
kwargs)
File "C:\vnstudio\lib\site-packages\vnstation\cli.py", line 15, in cli
run()
File "C:\vnstudio\lib\site-packages\click\core.py", line 829, in
call
return self.main(args, kwargs)
File "C:\vnstudio\lib\site-packages\click\core.py", line 782, in main
rv = self.invoke(ctx)
File "C:\vnstudio\lib\site-packages\click\core.py", line 1066, in invoke
return ctx.invoke(self.callback,
ctx.params)
File "C:\vnstudio\lib\site-packages\click\core.py", line 610, in invoke
return callback(
args, **kwargs)
File "C:\vnstudio\lib\site-packages\vnstation\cli.py", line 20, in run
import vnstation.run
File "C:\vnstudio\lib\site-packages\vnstation\run.py", line 4, in <module>
from vnpy.trader.ui import QtGui, create_qapp
File "C:\vnstudio\lib\site-packages\vnpy\trader\ui\
init__.py", line 11, in <module>
from .mainwindow import MainWindow
File "C:\vnstudio\lib\site-packages\vnpy\trader\ui\mainwindow.py", line 14, in <module>
from .widget import (
File "C:\vnstudio\lib\site-packages\vnpy\trader\ui\widget.py", line 19, in <module>
from ..engine import MainEngine
File "C:\vnstudio\lib\site-packages\vnpy\trader\engine.py", line 42, in <module>
from .setting import SETTINGS
File "C:\vnstudio\lib\site-packages\vnpy\trader\setting.py", line 30, in <module>
"database.timezone": get_localzone().zone,
File "C:\vnstudio\lib\site-packages\tzlocal\win32.py", line 93, in get_localzone
_cache_tz = pytz.timezone(get_localzone_name())
File "C:\vnstudio\lib\site-packages\tzlocal\win32.py", line 84, in get_localzone_name
raise pytz.UnknownTimeZoneError('Can not find timezone ' + tzkeyname)
pytz.exceptions.UnknownTimeZoneError: 'Can not find timezone '

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

沪公网安备 31011502017034号

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