请问最后的课程能否提供一个多周期的实时k线显示的例子?因为很多策略场景都需要实时同时看3个周期的k线。感谢!
天天刷新,等了好久了,哈哈
如下图显示,箭头地方显示的文字是反向的,但其他地方又是正常显示的,请问如何解决?谢谢!
代码如下:
class Op1_item(pg.GraphicsObject):
def init(self, handler: SctAnalyse_Handler):
super().init()
self.handler = handler
self.picture = QtGui.QPicture()
def _set_pen(self):
pen = pg.mkPen(color=(255, 0, 0), width=1, style=QtCore.Qt.DashLine)
return pen
def paint(self, p, *args):
p.drawPicture(0, 0, self.picture)
def boundingRect(self):
return QtCore.QRectF(self.picture.boundingRect())
def update_history(self):
painter = QtGui.QPainter(self.picture)
if self.handler.sct_list is not None:
for sct in self.handler.sct_list:
painter.setPen(pg.mkPen(color=(0, 191, 255), width=1.5, style=QtCore.Qt.DashDotDotLine))
start_point = QtCore.QPointF(sct.zs1.start_x_index, sct.zs1.pre_ixs[0].start_price)
end_point = QtCore.QPointF(sct.b.end_x_index, sct.b.end_price)
painter.drawLine(start_point, end_point)
painter.setPen(pg.mkPen(color=(255, 255, 0), width=2))
painter.setBrush(pg.mkBrush(color=(255, 255, 0, 80)))
# zs2
painter.drawRect(QtCore.QRectF(QtCore.QPointF(sct.zs2.start_x_index, sct.zs2.zd),
QtCore.QPointF(sct.zs2.end_x_index, sct.zs2.zg)))
# zs1
painter.drawRect(QtCore.QRectF(QtCore.QPointF(sct.zs1.start_x_index, sct.zs1.zd),
QtCore.QPointF(sct.zs1.end_x_index, sct.zs1.zg)))
text_point = QPoint(int(sct.zs2.start_x_index + (sct.zs2.end_x_index - sct.zs2.start_x_index) / 2),
sct.zs2.zg + 10)
painter.drawText(text_point, 'abc')
painter.end()
目前看到的是1.8.1的安装指导,influxdb2.x的变化还是挺大的,看看升级难度大不大。
windows版的influxdb是否能在生产环境下使用?感觉官方对windows的支持不是特别足。
我的想法是,不能直接交易的话,就获取行情推送到vnpy,通过策略去发出交易信号,然后手动交易。请问可以实现吗?谢谢!
新装的vnpy2.1.1,用一个简单的策略测试了一下,
**
**
**
**
**有几个问题请教一下
望指点迷津!
手机端,电脑端都一直显示在加载,大家有没有碰到同样的问题?
问题来源:tick级别数据回测速度慢,分钟级精度不够。
设想:能否通过tick级别数据合成5秒级别的bar数据,然后每5秒推进一次行情。这样速度比tick提高了10倍,回测精度也能保障。
问题:vnpy好像只提供tick级和分钟级别数据的导入教程,5s这种比较另类的周期如何导入?
望高手们指点一下,感谢!
请问每年3000元的产品是否可以取股指期货2010年以来历史数据的tick级别数据吗?官网查了下,3000元每年好像只能取分钟级别的历史数据。分钟级数据回测滑点误差还是有点大,精度差些。
因为我是用tick来回测的,加载三年的数据要30分钟左右。notebook如果已经加载数据,再次加载好像是用之前加载的数据,但导入的策略类好像改变不了,这样会导致发现问题后修改策略重新回测,又是一个漫长的数据加载过程~~
大家有什么好办法解决这个问题吗?
能否调整为先 engine.load_data(),然后再engine.add_strategy()?
望指点!
因为好多包在多个项目公用,包括个人平时积累的。各个包对3.8的支持感觉还不是特别充分,支持3.7就很好了,望采纳。
在jupyter里面的回测代码如下:
engine = BacktestingEngine()
engine.set_parameters(
vt_symbol="IF88.CFFEX",
interval="1m",
start=datetime(2018, 1, 1),
end=datetime(2018, 1, 31),
rate=3.0/10000,
slippage=0.2,
size=300,
pricetick=0.2,
capital=1_000_000,
)
engine.add_strategy(CBDemo, {})
engine.load_data()
engine.run_backtesting()
策略文件里面的on_bar函数如下:
def on_bar(self, bar: BarData):
if self.pos==0:
self.buy(bar.close_price,1)
print(f'{bar.datetime}:buy one -p')
self.write_log(f'{bar.datetime}:buy one -w')
找了两天,都没找到。
在vn trader的界面上找不到,在用户目录的.vntrader/log也找不到。
另外self.write_log("XX策略启动")算是什么级别的日志?debug?info?
望指点!
vnpy支持的四个数据库里,把股指期货tick数据保存在哪个数据库回测比较快些?有近4年的数据,大概7,8G这样子。谢谢了!
比如开盘前要初始化当天的一些信息,比如今天的主力合约,参数设置等,收盘后统计一下当天的交易。但回调函数里面好像没有类似 on_market_open 和on_market_close 之类的回调函数。
请大家指点一下,感谢!
rt,谢谢!