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

应该是你的策略on_init里没有load_bar加载历史数据,可以看下on_init函数有没有打错字

超过60分钟bg的Interval就不能选minute了。bg默认的Interval是Interval.MINUTE
合成四小时首先应该在策略文件最上面加一句:
from vnpy.trader.constant import Interval
然后合成四小时K线:
self.bg_4h = BarGenerator(self.on_bar, 4, self.on_4hour_bar, Interval.HOUR)

是和6.3.15向下兼容的

on_stop_order是不会返回信息的
description
你说的应该是send_order函数返回的orderid列表吧,请结合需求去vnpy.app.cta_strategy.engine下自己看一下send_order函数的代码吧

应该是,等一会应该就好了

报错是因为试用账户有限额导致的。
.vntrader文件夹下的database.db
可通过datamanager模块查看https://www.vnpy.com/forum/topic/3110-vn-pyfa-bu-v2-1-1-quan-gong-neng-shu-ju-guan-li

5min。交易逻辑写在哪个函数下就在哪个频率下执行。

都是基于1分钟K线数据合成的半小时和四小时,选分钟就好了。
多周期策略编写可参考示例策略multi_timeframe_strategy

把回测时间拉长就可以了,这个问题会在之后的版本修复

合约查询查到的合约就是账户权限里的所有合约了。虚拟账户的话,simnow是不提供期权合约的,中信证券好像提供。实盘的话,应该也要权限的。

回测的停止单的话,可以去vnpy.app.cta_strategy.backtesting下的cross_limit_order函数中打印排查看看

请检查一下策略类的名字,显示的是策略类的名字不是策略的名字

不清楚策略逻辑了,可以下次注意一下,如果推送两次是同一个orderid应该就是接口推送了重复的信息,如果是不同orderid则是下了两个单,那应该就要根据策略逻辑排查了

现在CTP夜盘会关闭系统,早上开盘前重启了。

所以夜盘收盘后也要关闭VN Trader盘前再重启了

你现在用的版本是?最新版本没有ctaTemplate.py是template.py。如果是1.9.2的话升级至最新版试试吧

检查一下你自建策略的参数名吧,应该有一个不是str类型

可以自己结合自己的数据对照就知道了。
如果是基于tick交易就是tick,如果是基于bar交易就是bar

可参考https://www.vnpy.com/forum/topic/1954-vn-pykuai-su-ru-men-6-kai-fa-di-yi-ge-liang-hua-ce-lue
如果想多个合约在一个策略里跑,请使用portfolio_strategy模块。
如果想多个合约分开跑同一个策略,只修改参数不修改变量的话,创建多个不同的策略实例即可。
如果想多个合约分开跑同一个策略逻辑,但要变量不同的话,需要创建多个策略,然后对应创建多个策略实例。

  1. 先排查一下下一次单为什么会推两次on_order的问题吧,看一下是否是同一个orderid;
  2. 10手分两次5手成交的话,应该会有一个orderid,两个tradeid。
    排查时还是多观察orderid和tradeid吧
© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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