vnpy文档:
用户名username:111111 (6位纯数字账号)
密码password:1111111 (需要修改一次密码用于盘后测试)
经纪商编号brokerid:9999 (SimNow默认经纪商编号)
交易服务器地址td_address:218.202.237.33 :10102 (盘中测试)
行情服务器地址md_address:218.202.237.33 :10112 (盘中测试)
授权码auth_code:0000000000000000(16个0)
名称app_id:simnow_client_test
username:换成 自己注册的simnow的也是一样
我看论坛里面说是写在on_trade里面, 但是demo策略 BollChannelStrategy 是写在on_bar上面. 目前遇到两个问题,请大神不吝赐教!
# 使用bar.close_price 作为当前市价最新价
def on_5min_bar():
self.cancel_all()
if 达到开多条件:
# 计算多单止损和止盈价格, 开多之后下停止委托单
self.long_stop_lose = 开多止损价格
self.long_stop_win = 开多止盈价格
if self.pos == 0:
self.buy(bar.close_price, self.fixed_size)
elif self.pos > 0:
# 开多之后下止盈,止损停止委托单
self.sell(self.long_stop_lose, abs(self.pos), True)
self.sell(self.long_stop_win, abs(self.pos), True)
elif self.pos < 0 :
# 平掉空单
self.cover(bar.close_price, abs(self.pos))
# 开多单
self.buy(self.close_price, self.fixed_size)
if 达到开空条件:
# 计算空单止损和止盈价格, 开空之后下停止委托单
self.short_stop_lose = 空单止损价格
self.short_stop_win = 空单止盈价格
if self.pos == 0:
self.short(bar.close_price, self.fixed_size)
elif self.pos < 0:
# 开空之后下止盈,止损停止委托单
self.cover(self.short_stop_lose, abs(self.pos), True)
self.cover(self.short_stop_win, abs(self.pos), True)
elif self.pos > 0 :
# 平掉多单
self.sell(bar.close_price, abs(self.pos))
# 开空单
self.short(self.close_price, self.fixed_size)
如图所示:
CTPTEST 下市价单的时候 ,提示 交易委托失败,代码:147 ,信息: CTP: 缺少ExchangeID字段, 请填入ExchangeID
订单状态为 拒单
请教各位大神,这个是什么原因呢?
如题, 在使用simnow账号 连接CTPTEST 一切正常
但是 使用正式账号和仿真账号 连接CTP 的时候 没有任何反应, 也没有日志输出 . 期货公司那边已经开通了CTP 程序化交易 也拿到了 行情服务器, 交易服务器, 授权编码 brokerid 等信息 , 求助一下各位大神!
确认期货公司使用的 版本是6.3.15
df = rq.get_price('RB88', frequency='1m', fields=['open', 'high', 'low', 'close', 'volume'],end_date=datetime.now())
2019-07-15 14:52:00 3985.0 3989.0 3985.0 3987.0 10290.0
2019-07-15 14:53:00 3987.0 3988.0 3987.0 3987.0 4412.0
2019-07-15 14:54:00 3987.0 3992.0 3986.0 3992.0 14592.0
2019-07-15 14:55:00 3991.0 3997.0 3990.0 3996.0 34794.0
2019-07-15 14:56:00 3996.0 4006.0 3996.0 4004.0 78092.0
2019-07-15 14:57:00 4005.0 4009.0 4003.0 4008.0 48942.0
2019-07-15 14:58:00 4008.0 4014.0 4007.0 4013.0 49984.0
2019-07-15 14:59:00 4013.0 4019.0 4013.0 4018.0 46804.0
2019-07-15 15:00:00 4019.0 4031.0 4017.0 4030.0 102240.0
现在是是7月16日16:13分 ,调用以上代码,只能获取到7月15日及以前的数据,如何才能获取 7月16日 16:13分之前的数据?
回测1h k线数据, 为什么 委托记录 时间是06-06 21:00 ,成交记录的时间是06-06 22:00 , 而且每一笔订单 成交记录都比委托记录 晚一个小时 , 请问这个是在哪里设置的?
下载vnpy-2.0.5 解压到 c:\vnpy-2.0.5 , 运行 install.bat 安装后, 运行程序 run.py, 进行回测的时候发现实际运行的是
python安装目录 C:\Python\Python37\Lib\site-packages\vnpy....\strategies 下面的 策略文件, 而不是 c:\vnpy-2.0.5...\strategies 下面的文件, 请问如何能够运行c:\vnpy-2.0.5这个目录下的策略, 因为策略文件是需要经常改动的, 放在这个目录 C:\Python\Python37\Lib\site-packages\vnpy....\strategies 不方便git管理!
日志如下:
11:23:35 开始加载历史数据
11:23:35 加载进度:########## [100%]
11:23:35 历史数据加载完成,数据量:11520
11:23:37 策略初始化完成
11:23:37 开始回放历史数据
11:23:37 历史数据回放结束
11:23:37 开始计算逐日盯市盈亏
11:23:37 成交记录为空,无法计算
11:23:37 开始计算策略统计指标
debug后发现 是在回测1分钟K时, template.py 的self.trading 字段一直都是False 导致一直无法下单
同样的double_ma_strategy.py 策略 回测1h K线数据 一切正常.