VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 7
声望: 0

def on_bar(self, bar: BarData):
"""
Callback of new bar data update.
"""
self.cancel_all()

    am = self.am
    am.update_bar(bar)
    if not am.inited:
        return

    atr_array = am.atr(self.atr_length, array=True)
    self.atr_value = atr_array[-1]
    self.atr_ma = atr_array[-self.atr_ma_length:].mean()
    self.rsi_value = am.rsi(self.rsi_length)

提问:为什么 atr_array前面不加self,self.atr_value、self.atr_ma 、self.rsi_value前面都加了self?

Member
avatar
加入于:
帖子: 6
声望: 2

加入self的都是需要在实例中调取的属性,我给你打个比方
def sum(x,y):
self.c=x+y
对于这个函数来说 self.c 是后面肯定要用到的 但是 x和y不需要在后面用到
这个 atr_array相当于就是例子中的 x和 y 不要用到和保存 所以不加
我的比方打的可能不太好,但是要用的才保存 不用的就不用保存

Member
avatar
加入于:
帖子: 7
声望: 0

wrote:

加入self的都是需要在实例中调取的属性,我给你打个比方
def sum(x,y):
self.c=x+y
对于这个函数来说 self.c 是后面肯定要用到的 但是 x和y不需要在后面用到
这个 atr_array相当于就是例子中的 x和 y 不要用到和保存 所以不加
我的比方打的可能不太好,但是要用的才保存 不用的就不用保存

谢谢兄弟,你这样解释我就明白了。

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】