请问最后的课程能否提供一个多周期的实时k线显示的例子?因为很多策略场景都需要实时同时看3个周期的k线。感谢!
天天刷新,等了好久了,哈哈
我这样写先打印文字的代码,结果还是反的,不知道错在哪里,望指点
def update_history(self):
painter = QtGui.QPainter(self.picture)
all_sct = []
all_sct.extend(self.handler.finish_sct)
all_sct.extend(self.handler.active_sct)
i = 0
for sct in all_sct:
if i % 2:
painter.setPen(pg.mkPen(color=(255, 255, 0), width=2))
painter.setBrush(pg.mkBrush(color=(255, 255, 0, 80)))
else:
painter.setPen(pg.mkPen(color=(0, 191, 255), width=2))
painter.setBrush(pg.mkBrush(color=(0, 191, 255, 80)))
painter.setFont(QFont('Arial', 9))
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')
# 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)))
# 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)))
if i % 2:
painter.setPen(pg.mkPen(color=(255, 255, 0), width=1.5, style=QtCore.Qt.DashDotDotLine))
else:
painter.setPen(pg.mkPen(color=(0, 191, 255), width=1.5, style=QtCore.Qt.DashDotDotLine))
x1 = (sct.zs1.start_x_index + sct.zs1.end_x_index) / 2
y1 = (sct.zs1.zg + sct.zs1.zd) / 2
start_point = QtCore.QPointF(x1, y1)
x2 = (sct.zs2.start_x_index + sct.zs2.end_x_index) / 2
y2 = (sct.zs2.zg + sct.zs2.zd) / 2
end_point = QtCore.QPointF(x2, y2)
painter.drawLine(start_point, end_point)
end_point2 = QtCore.QPointF(sct.b.end_x_index, sct.b.end_price)
painter.drawLine(end_point, end_point2)
i += 1
painter.end()
请问“setWindow重制一下位置”,这个具体在代码上怎样实现?谢谢!
如下图显示,箭头地方显示的文字是反向的,但其他地方又是正常显示的,请问如何解决?谢谢!
代码如下:
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,通过策略去发出交易信号,然后手动交易。请问可以实现吗?谢谢!
点赞!正需要,感谢
用Python的交易员 wrote:
- 代码里有
- 合约乘数是300
- 滑点是多少钱
谢谢指点,但第二点还不是特别理解,我当日不交易,持仓不变,为什么持仓盈亏会固定为300?我觉得持仓盈亏按照逐日盯市逻辑,应该按照市值产生了波动,不应该是一个固定的值吧?望指点,谢谢
其实是不是用if889更好一些?
新装的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()?
望指点!