最近尝试在ubuntu上运行vnpy,但是来接ctp的时候总是闪退,截图如下:
自己尝试将以上报错位置的语句注释掉
然后再连接ctp就会出现如下报错:
请教一下各位大神,这是什么问题呢?是不是在linux上需要自己重新编译ctp接口?
预致以谢意!
请教一下哪位大神,bardata存入mongodb之后时间戳会比实际时间滞后8个小时,但从mongodb读取出来的时间戳是正确的,有没有什么办法可以让显示时间与实际时间一致?
感谢解答
最近用PaperAccount进行实盘模拟,发现有时候市场行情会出现瞬间暴涨暴跌的情况。
例如5月10号早上9点一开盘,螺纹钢立即相对之前的收盘价上涨300元。
如果以上情况是暴跌,那岂不是惨了?
所以,想请教一下各位大神,应该如何应对这种突然暴涨暴跌的情况,也就是所谓的跳空?
最近vnpy2.3.0发布之后,我对我的两台电脑上的手动安装的vnpy进行了更新,但是出现了一个问题:
在其中一台电脑上成功完成了更新,系统能正常启动,并发现在原来的site-packages文件夹下面增加了以下文件夹:
vnpy_ctp
vnpy_ctp-6.5.1.5.dist-info
vnpy_ctptest
vnpy_ctptest-6.5.1.3.dist-info
vnpy-2.3.0.dist-info
但我在另外一台电脑上用install.bat安装更新后,site-packages文件夹里就没有增加上述文件夹,导致问题就是每次run.py启动就会报错:
No module named 'vnpy_ctp'
麻烦请教一下,为什么同样的更新,在另外一台电脑上就不能安装成功呢?
今天我用ctp实盘接口测试了一下,主要是print了tick.datetime,结果大致显示如下:
似乎受到的tick数据并不是严格每秒两个tick这么来的,经常有不规律的间隔,也就是说少接收了很多tick数据
请教一下,这是正常现象吗?这是什么原因造成的呢?
感谢回答!
请问回测的时候,如果设置滑点为x,这个x是指滑点为x元,还是x个pricetick?
如果是x个pricetick,那这个x只能是整数吗?
第一个问题:如果以锁仓模式开仓了,平仓的时候应该怎么写?
例如:开仓 self.buy(bar.close_price, self.fixed_size, stop=True, lock=True)
那么平仓的时候是不是写 self.sell(bar.close_price, self.fixed_size, stop=True, lock=True),就是开平仓都把lock=True加上就行了是吗?
第二个问题:委托函数中的net参数是干什么用的?
感谢回答!
请问以下为什么参数是 1 / self.am.high、1 / self.am.low、1 / self.am.close,难道不应该是self.am.high、self.am.low、self.am.close吗?没看明白,请哪位高手指点一下吧
atr_risk = talib.ATR(
1 / self.am.high,
1 / self.am.low,
1 / self.am.close,
self.atr_window
)
大家好,请教一下。
为什么本地停止单的状态回报只有WAITING = "等待中"、 CANCELLED = "已撤销"、 TRIGGERED = "已触发"这几种呢?
如果只有这几个回报,怎么确定本地停止单是否还处于活跃状态还是已经结束了呢?
现价单的回报状态不是还有ACTIVE_STATUSES = set([Status.SUBMITTING, Status.NOTTRADED, Status.PARTTRADED])这几种吗?
多谢!
我想为我的电脑配置vnpy的开发环境,已经可以脚本启动vn trader了。
也为miniconda设置了系统的环境变量,在cmd和powershell中检测都显示环境变量设置成功了。
但是在为vscode配置miniconda运行环境后,运行程序的时候总是显示如下结果:
烦请高手指点一下这到底是怎么回事?应当如何解决?
非常感谢!
我想做tick数据的CTA策略回测,因此:
1.我购买了radata的tick数据;
2.backtestingengine.set_parameters中的mode也已经设置成BacktestingMode.TICK;
3.策略中的on_init函数下的也设置了加载load_tick(10)
但在jupyter notebook中运行回测没有反应,因此我推测是需要将我rqdata的账户信息填入class RqdataClient,并且将class RadataClient的实例传入BacktestingEngine。所以想请教一下,这个class RqdataClient的实例是如何传入BacktestingEngine的,从而可以读取到tick数据呢?
多谢多谢!
写CTA策略经常要用到self.pos,但我在CtaTemplate里除了在init函数下见到有self.pos = 0,就没有再找到self.pos,所以:
(1)我想知道这个值到底是如何在运行过程中得到更新的呢?
(2)既然self.pos的值只会在收到Trade回报后才会更新,那么在其他函数下的self.pos岂不是都是不能保证是最新值?
烦请大神解答一下,非常感谢。
本人申请了中信期货公司的CTP实盘接口,通过了仿真下单、撤单测试,刚刚通过申请可以接入实盘了。
期货公司提供了一堆数据交易和行情的数据接口,在交易时间段我挨个都试了,但连接的时候没有任何反应。
我跟期货公司也反复确认了,他们肯定他们的配置没有问题。
我又换成simnow账号,可以正常连接并且可以交易。
不知道大家有没有遇到过这种情况,有可能是什么问题?请哪位大神指点一下。
在连接simnow的ctp接口时总是报错:交易服务器登录失败,代码:3,信息:CTP不合法的登录
请问这是什么问题?请哪位大神帮忙解答一下,非常感谢
本人菜鸟,刚学习量化交易不久,目前正在使用中信提供的ctp仿真环境,通过测试需要用程序完成下单、撤销等基本操作,我自己编写了一个非常简单的下单程序,没有任何策略条件,但试了好几次都没有成功。我选择的合约是IF2012.CFFEX,通过手动下单都能成功。代码如下,烦请哪位大神帮忙看看我这个程序的问题在哪,非常感谢!
from typing import Any
from vnpy.app.cta_strategy import (
CtaTemplate,
BarGenerator,
ArrayManager
)
from vnpy.trader.object import (
BarData,
TickData
)
class DemoStrategy(CtaTemplate):
""""""
author = "H.N."
real_price = 4690
parameters = ["real_price"]
variables = []
def __init__(
self,
cta_engine: Any,
strategy_name: str,
vt_symbol: str,
setting: dict,
):
super().__init__(cta_engine, strategy_name, vt_symbol, setting)
def on_init(self):
"""日志输出:策略初始化"""
self.write_log("策略初始化")
def on_start(self):
"""
当策略被启动时候调用该函数
"""
self.write_log("策略启动")
real_price1 = self.real_price
self.buy(real_price1, 1)
def on_stop(self):
self.write_log("策略停止")
使用的是中信期货提供的CTP仿真测试接口,连接的时候没有问题,但运行策略的时候,无论输入哪个合约代码(合约号+交易所代码),都显示无法查询合约信息,或者即使初始化成功,主界面也不显示任何行情信息,当然其他信息也木有,检查了,put_event函数也有。请问一般出现这种情况主要是什么原因造成的?
刚刚拿到期货公司给的仿真账号的授权码,再做连接测试的时候,使用VN Trader Lite连接就能显示有反应,虽然是显示连接已断开,但用VN Trader Pro连接就完全没有反应
请问这是为什么?
本人是刚开始研究的菜鸟,在向中信期货申请CTP Authcode时,要求填写是直连还是中继,还没来得及特别搞明白VN Trader的工作原理,烦请指点一下