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

可以升级更新一下程序看看

不是放在administrator下,是放在c:\users\你的用户名\strategies下,可以再试试看

  1. 遗传算法就是不会跑满的,如果想要跑满的话可以使用穷举算法。虽然遗传算法不会跑满,但是速度是比穷举算法快的,而且不占用全部CPU可以让电脑在优化时进行别的操作,但遗传算法准确性比穷举稍低一点。建议是结合遗传算法和穷举算法一起用,节省时间也能保证准确率。
  2. 目前不能直观的看到百分比显示,如果想知道大概跑的怎么样,可以尝试在cmd中,用python -m vnstation命令来启动VN Station,然后应该可以看到目前的进度。

传进来的应该还是单独的tickdata,但是应该可以参照portfolio_startegy里的PcpArbitrageStrategy处理bars的方法把数据放进字典里用vt_symbol做key

应该是账户密码错误,可以检查一下。注册simnow后要修改一次密码,才能在vn.py中使用。如果已经修改过,可以看一下是否输错。

你的是教育账户,应该只能在你们学校校园网环境使用

  1. VNStudio就是vn.py框架针对量化交易打包的python一键安装发行版(包含了python解释器和常用三方库)。一般使用的话,有VNStudio就可以了。源代码是便于学习了解这个框架,以及熟悉之后可以根据自己需求来修改一些底层代码来实现个性化定制。
  2. 前面说的那个c:\users\strategies或者c:\users\abc\vntrader\strategies都不对,应该是c:\users\你的用户名\strategies)。
  3. 方便提供一下截图吗?像这样,把你的策略和你修改的原策略放在一起,看一下(策略路径也要截进去)(你的策略需要放在安装的这个vnstudio里.或者用户目录下strategies里)

description

description

description

  1. 已经安装过vnstudio了怎么还要再次安装呢?
  2. 源码指的是GitHub上的portfolio_strategy的demo吗?如果是这个,抱歉,更正一下,在app.portfolio_strategy.strategies里面就有。如果想回测,就用这个jupyter跑就行了
  3. 一般自己写的策略建议都放在当前操作系统的用户目录下的strategies文件夹里,假设你的用户名为abc:
    Windows系统
    用户目录为c:\users\abc;
    策略应该放在c:\users\strategies中
    Linux/Mac系统
    用户目录为/home/abc
    策略应该放在/home/abc/strategies中

1.你的策略放在哪个目录下呢?

是在当前操作系统的用户目录下的strategies目录下还是vnpy.app.cta_strategy.strategies目录下呢?

2.你策略的类的名字有和其他策略重合吗?

微信公众号里有入门教程可以看一下

是成交价。可以看cta_backtester/ui/widget.py 中 CandleChartDialog 类下的 update_trades 函数第1183行
description

XTP官网在线文档里有行情API手册和交易API手册的

用DataManager模块即可,CsvLoader的功能合并进去了

  1. offsetConverter是一个开平转换器组件。只有中国市场期货合约分多空情况下才需要转换,而像海外净持仓模式就不用转换。lock是锁仓。
  2. yd是昨仓,td是今仓,frozen是冻结的部分。
  3. 因为SHFE和INE的平仓指令需要指定平今或平昨,而其他交易所是自动转换为优先平今,所以需要特殊处理。
    具体可以看vn.py实战进阶—CTA策略的30,31和32课。
  1. 你把on_init的load_bar()删了,没法初始化,就会停在这里;
  2. 你把逻辑写在on_start,这不是一个回调函数,所以只会跑一次,就算你修复了第一个问题,如果你第一个价格达不到要求,也是无法成交的。

如果只是测试基本回测操作,其实可以拿cta_strategy里的策略来尝试。

可以参考一下Github上portfolio_strategy的demohttps://github.com/vnpy/vnpy/tree/master/vnpy/app/portfolio_strategy/strategies

  1. 如果你想要的是on_bar里的bar.datetime,你可以在on_bar里写一个self.datetime = bar.datetime,然后在on_trade里调用self.datetime就可以了。
  2. 如果你想要的是on_trade成交时的datetime,就print(trade.datetime, "bar_counts持仓周期计数器平仓归零")应该就可以了,因为on_trade里传进来的是TradeData而不是BarData。

问题应该是d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\template.py", line 6, in <module>
from vnpy.app.cta_strategy.strategies import multi_timeframe_strategy这个地方,我的template里没有这行代码。可以看下是不是误加的,或者升级看看。

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

沪公网安备 31011502017034号

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