vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 7
声望: 0

【】已解决【】

description

description

description

description

我发现,在策略初始化完成,开始回访数据之前的一部分数据的回测,都是没有仓位的,之后就变得增长了。
醉了。

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

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

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

    diffs=-am.close*self.multi_factor+am.volume
    diff=diffs[-1]
    long_high_price=max(diffs[-1*self.long_window-1:-2])
    long_low_price=min(diffs[-1*self.long_window-1:-2])
    short_high_price=max(diffs[-1*self.short_window-1:-2])
    short_low_price=min(diffs[-1*self.short_window-1:-2])

    if self.pos == 0 and diff<long_low_price:
        print(bar.datetime,self.pos,'buy',diff,long_low_price)
        self.buy(bar.close_price, 14)

    if self.pos==0 and diff>long_high_price:
        print(bar.datetime,self.pos,'short',diff,long_high_price)
        self.short(bar.close_price,14)

    if self.pos<0 and diff<short_low_price:
        print(bar.datetime,self.pos,'cover',diff,short_low_price)
        self.cover(bar.close_price,14)

    if self.pos>0 and diff>short_high_price:
        print(bar.datetime,self.pos,'sell',diff,short_high_price)
        self.sell(bar.close_price,14)
    self.put_event()`
Administrator
avatar
加入于:
帖子: 3813
声望: 202

前面的一部分数据用于策略状态初始化,此时策略可以收到数据计算技术指标等,但无法下单(引擎会忽略),直到初始化完成后,才会允许开始正式交易

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