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

xiaohe wrote:

持仓数据的更新应该取决于接口的获取方式,有一些可能是按特定的时间间隔查询,有一些可能是由交易所进行推送。如果感兴趣,可以自己print一下看看间隔是怎样的。

1:老师您好,我是用的盈透IB的gateway,在盈透的\vnpy\gateway\ib\ib_gateway.py文件里面没有找到相关“持仓"数据刷新时间,总是要等非常久,才能看见持仓-盈亏的更新,如下图所示,如果要想提高持仓-盈亏的刷新频率,需要修改ib_gateway.py里面的那部分代码呢?望指点,万分感激!

description
2:老师您好,使用盈透IB的gateway交易时,发出的所有委托(限价或者STOP)都无法看见委托时间,有什么办法可以解决这个问题呢?

1:使用如下代码,会存在重复发单的情况,可能是程序还未接收到成交回报,就再次发单了,如何避免这类情况呢?王老师指导,万分感激!

def on_tick(self, tick: TickData):

        self.cancel_all()
        self.bg_x.update_tick(tick)
        self.price = tick.last_price

        if self.pos > 0:
            if tick.last_price < self.long_stop:
                self.sell(tick.last_price*0.9, abs(self.pos))
                self.write_log(f"策略名称:15号策略  {tick.datetime}  多头平仓:{abs(self.pos)}手  {tick.last_price*0.9}  备注:保命出场")


        elif self.pos < 0:
            if tick.last_price > self.short_stop:
                self.cover(tick.last_price*1.2, abs(self.pos))
                self.write_log(f"策略名称:15号策略  {tick.datetime}  空头平仓:{abs(self.pos)}手  {tick.last_price*1.2}  备注:保命出场")
        self.put_event()

hxxjava wrote:

无思路,无代码,无过程,三无,谁能够回答你?呵呵

是我自己没理清思路,谢谢您,已修改,主要是想实现当if self.pos > 0:时,print(bar.datetime,bar.close_price ,"开空单 开仓手数:",self.lots)只打印一次,结果回测一直打印,您知道如何处理吗?望回答,万分感激

咨询老师一下,在on_trade中使用trade.offset == Offset.CLOSE如何获取平仓手数呢?我使用如下代码获取到的结果是,平仓: 0 手

    def on_trade(self, trade: TradeData):
        if trade.offset == Offset.CLOSE:
            self.bar_counts = 0           
            print("策略名称:15号",trade.datetime,"平仓:", abs(self.pos),"手",trade.price,"备注:平仓")

打印出来的结果显示如下:平仓:0 手

策略名称:15号策略 2020-02-24 18:18:00+08:06 平仓: 0 手 13450.0 备注:平仓

望指导,万分感激!

1:vnpy中的持仓数据是多久更新一次呢?
2:具体是在vnpy的那个文件可以查询到持仓更新时间间隔呢?

关于vnpy意外停止,委托单全部取消,重启后是否还会重新发送原来取消的委托订单呢?

膜拜与期待!万分感激

1:在vnpy中如何避免反复打印开平仓数据呢?限制只打印一次即可

 if self.pos > 0:
     print(bar.datetime,bar.close_price ,"开空单  开仓手数:",self.lots)

description

1:原版example下的no_ui_run.py,在策略停止的时候都没有调用stop_all_strategy,这样就不会把结束时候的状态保存下来,这样就不是无人值守啊,example下的no_ui_run.py中是否有必要同步持仓和止盈止损的数据,把结束时候的状态保存下来,防止run.py的重启?

2:如何在策略on_bar函数内调用sync_data函数来同步数据?是直接在on_bar的最后面添加一句 self.sync_data就可以了吗?

        self.sync_data

        self.put_event()

2.1:如果在on_tick 、on_bar、on_xmin_bar都有交易,是否需要在on_tick 、on_bar、on_xmin_bar都添加self.sync_data这句代码呢?

3:是否可以在no_ui_run.py中,实现类似vntrader界面版一样,点击全部停止后,就自动同步持仓和止盈止损的variables列表数据到硬盘中? 望指导,万分感激

1:如何在no_ui.py中添加vnpy的email成交发送邮件的功能?望指导

1:老师您好,咨询一下,可以通过加载api数据计算出的变量,是否有必要放入variables列表里面去呢?

用Python的交易员 wrote:

策略会认为仓位就是0了,所以此时根据你的策略逻辑,应该只会做开仓操作

策略原本逻辑是:平仓,因为外盘的净持仓制度,现在反向开仓,这与策略逻辑不符,老师您好,针对这类问题,最好的解决方案是?

用Python的交易员 wrote:

  1. on_trade这个回调函数都没有推送bar,你直接访问这个变量肯定找不到了
  2. on_bar推送了bar,你要在on_trade里访问就要自己缓存下,这个是基础Python语法的问题了

老师您好,实在不好意思,给您添麻烦了,我基础比较差,您可以指导一下我吗?万分感激,望回复

1:在vnpy中,交易外盘A50品种,如果把.vntrader目录中的cta_strategy_data.json文件,原本持仓的pos=2修改为pos=0,策略平仓时是否还会反向开仓吗?

1:老师您好,如下面代码所示,在on_trade回调函数中使用print总是报错,望回复,万分感激
代码如下:

    def on_trade(self, trade: TradeData):
        """
        Callback of new trade data update.
        """

        if trade.offset == Offset.CLOSE:
            self.bar_counts = 0
            print(bar.datetime, "bar_counts持仓周期计数器平仓归零")

报错如下:

  File "C:\Users\78405\Desktop\vnpy_20200624\vnpy\app\cta_strategy\backtesting.py", line 945, in cross_stop_order
    self.strategy.on_trade(trade)
  File "C:\Users\78405\strategies\AtrRsiStrategy_Thorn荆轮止损.py", line 239, in on_trade
    print(bar.datetime, "bar_counts持仓周期计数器平仓归零")
NameError: name 'bar' is not defined

2:在on_bar中使用这句代码print(bar.datetime, "bar_counts持仓周期计数器平仓归零")不会报错,是因为不能在on_trade中使用吗?

老师您好,咨询vnpy中一跳的具体函数名称是?

用Python的交易员 wrote:

课程中的方法,是由固定分钟整除切分,改为基于1分钟线的数量统计来切分。

如果发现回测结果不一致,那么大概率就是数据问题,缺失了部分导致的,用的是RQData数据吗?还是别的什么

1:嗯,是RQData,回测的是rb888.SHFE
2:vnpy自带的BarGenerator是基于什么原因无法自定义合成N分钟周期呢?
2:老师您好,是否可以把课程中的NewBargenerator,合并GitHub中的vnpy中呢? 自定义合成N周期,我看也是问的最多的问题之一,这对初学者还是有些难度的。

如下图所示,为什么vnpy在GitHub中Languages显示占比,C++占75.4%份额,反而Python只占16.0%呢?是编写api的原因吗?

description

1:examples/no_ui脚本中设置好启动、停止时间等信息,然后直接启动就可以7*24小时自动运行了吗?
2:是否还需要在windows任务计划建一个bat文件,然后把bat文件加入windows的任务计划每日定时运行no_ui脚本的bat文件吗?望回复,万分感激!

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

沪公网安备 31011502017034号

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