VeighNa量化社区
你的开源社区量化交易平台
neowod's Avatar
Member
离线
28 帖子
声望: 1

好吧。。。我以为米筐上面的功能vnpy都能实现

不客气,我也只是把自己的理解说一下

你可以理解为super不带括号本身代表的含义就是继承父类,具体继承哪个父类是由子类声明时后面的括号的内容决定的即 class Child(Parent):,super后面的括号里的东西无论什么情况内容都不会变,即子类的名字和self,self是习惯所有类里的函数都有,所以super(本类名,self) 代表了 一个子类的继承父类的函数,但是子类名其实不用说,大家都知道,因为这个函数就是在子类里定义的,是哪个子类就不需要额外标注了,故而在Python3里就把其和self省略了

我看了一下,它的init函数用的还是python3的写法(省略类名和self)

def __init__(self, cta_engine, strategy_name, vt_symbol, setting):
        """"""
        super().__init__(cta_engine, strategy_name, vt_symbol, setting)

        self.rsi_signal = RsiSignal(self.rsi_window, self.rsi_level)
        self.cci_signal = CciSignal(self.cci_window, self.cci_level)
        self.ma_signal = MaSignal(self.fast_window, self.slow_window)

但是后面的函数比如你贴的却用的是python2,python2和3的具体区别可以看 这个,可以看出它的写法是没错的,super()的第一个参数就是类自己,但是我比较不明白的是为什么这里既用了py2的写法又用了py3。我也是刚学python水平有限,理解可能有误,不过感觉自己了解的正好可以帮到你所以就回答了,希望大家可以共同进步

最近在学习CtaStrategy的资料,却发现似乎不太适合A股的交易,我希望像通达信选股器那样建立一个策略选出合适的股票进行交易,请问可以实现吗?应该用哪个应用呢?(是CtaStrategy,AlgoTrading还是什么)

昨天到今天早上提交都显示 inter sever error 以为自己没提交成功,结果提交了两次。。。

哦,原来是这样啊,谢谢啦。

初学量化差不多了解函数内 self.x = x 的意义,比如

class ClassA:
    def fuc(self, num):
        self.num = num

但是后来在示例策略 AtrRsiStrategy 内遇到了 x = self.x 的情况

def __init__(self, cta_engine, strategy_name, vt_symbol, setting):
        super().__init__(cta_engine, strategy_name, vt_symbol, setting)
        self.bg = BarGenerator(self.on_bar)
        self.am = ArrayManager()

def on_bar(self, bar: BarData):
        'Callback of new bar data update'
        self.cancel_all()
        am = self.am
        am.update_bar(bar)

on_bar 函数只截取了一部分, 这里它已经有了self.am 为何又要声明个am,不能直接用 self.am.update_bar(bar)?
求帮助。

谢谢!

初学量化编程,采用的是Notebook环境,请问想用Notebook和vnpy搭配使用要做什么工作(比如import 哪些vn的包等)

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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