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

这是个3.5.0的一个BUG,dev开发分支已经修复代码,后续3.6.0会发布了

扫码后直接登录说明你之前注册过了,通过这个链接找回吧:

https://www.vnpy.com/auth/reset-password

删除这个文件:

c:\users\administrator\.vntrader\vt_setting.json

其中administrator是你的系统用户名

卸载干净所有Python后,只安装VeighNa Studio试试

现在Trader运行过程中的cmd内容会输出在Station的【交易】模块中的右侧日志区域

AlgoTrading模块中提供了StopAlgo来实现条件委托功能。

扫码后自动就注册了,你的昵称【廖553】就是用户名

mrzeroq wrote:

如果不使用RQData,vnpy是否可以通过导入本地历史数据进行初始化?具体应该如何操作的?

可以的,使用DataManager导入即可。

穷举算法接下来准备提供下优化进度查看的进度条功能。

遗传算法有点复杂还在研究中。

可以通过这样的方式拿到所有委托数据:

orders = main_engine.get_all_orders()

orders列表中的每个元素,就是一个vnpy.trader.object.OrderData对象,然后用csv模块或者pandas,做个数据结构转化后保存到csv文件即可。

  1. 检查下是否有其他Python
  2. 检查是否运行了360之类的杀毒软件,有的话关闭后再装,装完再启动360等即可

守望长城2020-6-11-艾瑞巴蒂 wrote:

1,chart\widget.py 的 Chartwidget里的add_plot方法, 有一个信号是view.sigXRangeChanged.connect(self._update_y_range), 第一个疑问是这里是指什么样类型的信号,如果只是实时更新K线图,但是不用滚轮或者方向键缩放,会触发这个信号吗?

2,plot.setRange(tuple)和 plot.setLimits(xmin,xmax,ymin,ymax)的区别是啥,两个都是设置区域的吧, 为啥在update_y_range的时候用setRange(),而在_update_plot_limits的时候要用setLimits?

3,用滚轮缩放图表,或者因为实时行情更新图表导致的图标拉伸压缩, 从代码来看应该是view的拉伸导致CandleItem和VolumeItem被缩放,我现在的想法是实现candleitem等图元不要因为行情的更新被夸张的缩放,而是保持一种和X轴同样比例的缩放,举个例子, 我想绘制收盘价为一个方形的点,但是按照社区版的例子,这个方形点会随着行情变化被拉伸成长长的柱子,怎么样才能实现方形的点一直保持为正方形而不随着行情变化被拉伸成矩形,而让纵坐标刻度区间增长或者减短用以维持在行情跨度太大的情况下的正方形point展示?我用drawPoint试了一下,仍旧会被拉伸, 所以从图元出发不可行, 还得从view出发

  1. 应该会的,只要出现了新的一根K线 ,就触发了x轴变化
  2. setRange是设置当前可见的显示范围,setLimits是设计整个图表的显示范围,具体可以参考这里:https://pyqtgraph.readthedocs.io/en/latest/api_reference/graphicsItems/viewbox.html
  3. 修改Y轴的整个坐标映射规则,这个需要自己研究下了

ranjianlin wrote:

MTF wrote:

策略引擎只能维护当前进程中策略发出的委托编号映射关系,重启后关系就丢失了,因此cancel_all也无法撤单(cancel_all是指撤销策略自己发出的全部委托)

老师您好,针对这种情况,有办法通过策略来取消重启之前发出的委托吗?望指点一下,万分感激

可以在策略的:

  1. on_order回调函数中,记录收到的委托号记录(如果是结束状态则移除)到一个字典
  2. on_stop时将该字典写入文件保存(使用vnpy.trader.utility下的save_json)
  3. on_start时从文件中读取恢复该字典(使用vnpy.trader.utility下的load_json)

但是要注意如果发生了手动撤单的操作,则需要自己修改下这个json文件来实现数据同步了。

策略引擎只能维护当前进程中策略发出的委托编号映射关系,重启后关系就丢失了,因此cancel_all也无法撤单(cancel_all是指撤销策略自己发出的全部委托)

从这里下载编译好的wheel吧:https://www.lfd.uci.edu/~gohlke/pythonlibs/

将run.py中的以下两句注释都去掉:

from vnpy_ctp import CtpGateway

main_engine.add_gateway(CtpGateway)

CTA是针对单标的策略的,多标的得用PortfolioStrategy模块了

if not (bar.datetime.minute + 1) % self.window:

这个切分方式,是基于每次分钟时间戳为44(44+1=45)的时候触发一次合成,因此都是在45分钟的时候合成出来了

请检查下cl.exe所在的路径,是否位于环境变量PATH中,没有的话要手动添加下了

dict前后是2个下划线,你这里只输入了1个

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

沪公网安备 31011502017034号

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