文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

VNPY中开盘前挂单失效的解决方法

2023-06-02 10:20

关注

这篇文章将为大家详细讲解有关VNPY中开盘前挂单失效的解决方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在VNPY量化交易平台中,挂停止单(STOP Order)是交易发起的常见方式,停止单是至一旦价位到了预定点位,才启动交易的订单。

期货早盘9点和夜盘9点刚刚开票十分钟,往往是波动最大的时段,交易机会很多。但是VNPY存在明明应该挂着停止单,在开盘时候就没有了,应该是在开盘时刻,所有挂单都是失效了,虽然这些挂单是在VNPY内部失效,但是也会失效。具体代码看了半天,还是没有找到具体原因。

这里提供一个临时修补方法。

  1. 定义一个全局策略变量stopOpenOrder, 默认值为False;

    定义个全局变量status,默认值为NA,放在策略判断交易代码中,一旦触发挂单,更新这个为挂单方向。

    最后把停止单挂单价格也设为全局变量

     2.覆盖停止单推送function,一旦有开单,这个stopOpenOrder变为True

    def onStopOrder(self, so):

        """停止单推送"""

        self.writeCtaLog(u'%s阻止单, 品种:%s, 状态: %s, 方向:%s,价格:%s' % (self.name, so.vtSymbol, so.status, so.orderType, so.price))

        if so.offset == OFFSET_OPEN:

            self.stopOpenOrder = True

        self.putEvent()

    3.覆盖OnTick function, 如果pos为空,stopOpenOrder == False时候, 如果status是buy 或者short,进行相应挂单。

    def onTick(self, tick):

        """收到行情TICK推送(必须由用户继承实现)"""

        if self.pos == 0 and self.stopOpenOrder == False:

            if self.status == "buy":

                self.buy(self.buyPrice, self.fixedSize, True)

            elif self.status == "short":

                self.short(self.shortPrice, self.fixedSize, True)

        self.bg.updateTick(tick)

在实际测试中,如果符合挂单条件,但是并没有开出挂单,当第一个tick到来时候,会自动挂单。

关于VNPY中开盘前挂单失效的解决方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯