你快成图表专家了!
你快成图表专家了!
hxxjava wrote:
你快成图表专家了!
谢谢。这两天认真学习了您的帖子,收获很大。工欲善其事必先利其器,绘制好了实时K线图和所用指标,就可以方便知道每笔交易的入场点和出场点,便于复盘和改进策略了。
请教在苹果mac os上面macd图的比例缩放似乎不对,绿柱完全没有,红柱显示一小部分,快慢线经常跑出范围,大概是什么地方出了问题?
经测试,把main函数里的dynamic修改为TRUE,动态进数据macd图就能够正常显示了,虽然偶尔有些快慢线还会跑外面去。感觉这一块应该是哪里计算出了点小问题
人家 wrote:
请教在苹果mac os上面macd图的比例缩放似乎不对,绿柱完全没有,红柱显示一小部分,快慢线经常跑出范围,大概是什么地方出了问题?
我回入回测K线图后,也有同样的问题。我看到高度范围一直是0-1,应该是显示范围不对,不知道在什么地方改?
yyds 马克一下
Traceback (most recent call last):
File "C:\Users\zx\Documents\repository\vnpy-master\examples\trade\kx_chart.py", line 306, in <module>
widget = NewChartWidget(event_engine = event_engine)
File "C:\Users\zx\Documents\repository\vnpy-master\examples\trade\kx_chart.py", line 83, in init
self.add_item(OrderItem, "order", "candle")
File "C:\veighna_studio\lib\site-packages\vnpy\chart\widget.py", line 123, in add_item
item = item_class(self._manager)
File "C:\Users\zx\Documents\repository\vnpy-master\examples\trade\chart_items.py", line 554, in init
super(CandleItem,self).init(manager)
File "C:\veighna_studio\lib\site-packages\vnpy\chart\item.py", line 18, in init
super().init()
File "C:\veighna_studio\lib\site-packages\pyqtgraph\graphicsItems\GraphicsObject.py", line 17, in init
QtGui.QGraphicsObject.init(self, *args)
RuntimeError: You can't initialize an object twice!
程序报错了,楼主!不知道是哪里出了,请问楼主能帮我检查一下吗
知道,是因为3.0版本升级,导致OrderItem和TradeItem的多继承出了问题。
目前没有时间,等有空再重写这两个主图组件就可以了。
小鼠之森 wrote:
Traceback (most recent call last):
File "C:\Users\zx\Documents\repository\vnpy-master\examples\trade\kx_chart.py", line 306, in <module>
widget = NewChartWidget(event_engine = event_engine)
File "C:\Users\zx\Documents\repository\vnpy-master\examples\trade\kx_chart.py", line 83, in init
self.add_item(OrderItem, "order", "candle")
File "C:\veighna_studio\lib\site-packages\vnpy\chart\widget.py", line 123, in add_item
item = item_class(self._manager)
File "C:\Users\zx\Documents\repository\vnpy-master\examples\trade\chart_items.py", line 554, in init
super(CandleItem,self).init(manager)
File "C:\veighna_studio\lib\site-packages\vnpy\chart\item.py", line 18, in init
super().init()
File "C:\veighna_studio\lib\site-packages\pyqtgraph\graphicsItems\GraphicsObject.py", line 17, in init
QtGui.QGraphicsObject.init(self, *args)
RuntimeError: You can't initialize an object twice!
程序报错了,楼主!不知道是哪里出了,请问楼主能帮我检查一下吗
class TradeItem(CandleItem,ScatterPlotItem):
"""
成交单绘图部件
"""
def __init__(self, manager: BarManager):
""""""
#ScatterPlotItem.__init__(self)
# CandleItem.__init__(self,manager)
# super(TradeItem,self).__init__(manager)
super().__init__(manager)
新版本多继承改成super继承,不然会实例化两次,然后把candleitem换到前面,让他先找candleitem就可以了。 oderitem也一样
另外谢谢大大分享
人家 wrote:
经测试,把main函数里的dynamic修改为TRUE,动态进数据macd图就能够正常显示了,虽然偶尔有些快慢线还会跑外面去。感觉这一块应该是哪里计算出了点小问题
我也是mac 情况和你一样
小虾米 wrote:
小鼠之森 wrote:
Traceback (most recent call last):
File "C:\Users\zx\Documents\repository\vnpy-master\examples\trade\kx_chart.py", line 306, in <module>
widget = NewChartWidget(event_engine = event_engine)
File "C:\Users\zx\Documents\repository\vnpy-master\examples\trade\kx_chart.py", line 83, in init
self.add_item(OrderItem, "order", "candle")
File "C:\veighna_studio\lib\site-packages\vnpy\chart\widget.py", line 123, in add_item
item = item_class(self._manager)
File "C:\Users\zx\Documents\repository\vnpy-master\examples\trade\chart_items.py", line 554, in init
super(CandleItem,self).init(manager)
File "C:\veighna_studio\lib\site-packages\vnpy\chart\item.py", line 18, in init
super().init()
File "C:\veighna_studio\lib\site-packages\pyqtgraph\graphicsItems\GraphicsObject.py", line 17, in init
QtGui.QGraphicsObject.init(self, *args)
RuntimeError: You can't initialize an object twice!
程序报错了,楼主!不知道是哪里出了,请问楼主能帮我检查一下吗class TradeItem(CandleItem,ScatterPlotItem): """ 成交单绘图部件 """ def __init__(self, manager: BarManager): """""" #ScatterPlotItem.__init__(self) # CandleItem.__init__(self,manager) # super(TradeItem,self).__init__(manager) super().__init__(manager)
新版本多继承改成super继承,不然会实例化两次,然后把candleitem换到前面,让他先找candleitem就可以了。 oderitem也一样
另外谢谢大大分享
这个有问题,虽然能跑出来,但是trade data没有画出来, 让他先继承 ScatterPlotItem的话
在实例化 NewChartWidget的时候会报错这个
File "/Users/yangke/vnpy-3.0.0/examples/cta_backtesting/kchart_analysis_hxx.py", line 293, in <module>
widget = NewChartWidget(event_engine = event_engine)
File "/Users/yangke/vnpy-3.0.0/examples/cta_backtesting/kchart_analysis_hxx.py", line 102, in __init__
self.add_item(TradeItem, "trade", "candle")
File "/Users/yangke/opt/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/chart/widget.py", line 123, in add_item
item = item_class(self._manager)
File "/Users/yangke/opt/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/chart/chart_items.py", line 528, in __init__
super().__init__(manager)
File "/Users/yangke/opt/anaconda3/envs/vnpy3/lib/python3.10/site-packages/pyqtgraph/graphicsItems/ScatterPlotItem.py", line 441, in __init__
self.setData(*args, **kargs)
File "/Users/yangke/opt/anaconda3/envs/vnpy3/lib/python3.10/site-packages/pyqtgraph/graphicsItems/ScatterPlotItem.py", line 499, in setData
self.addPoints(*args, **kargs)
File "/Users/yangke/opt/anaconda3/envs/vnpy3/lib/python3.10/site-packages/pyqtgraph/graphicsItems/ScatterPlotItem.py", line 537, in addPoints
numPts = len(kargs['spots'])
TypeError: object of type 'BarManager' has no len()