本文主要是介绍MQL5 秘籍之:OCO订单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
本文聚焦于处理OCO类型的订单。这个机制在一些MetaTrader 5的竞争对手产品中已有实现。通过这个带有控制面板的处理OCO订单的例子,我想达到两个目的。其一,我想介绍标准类库的特性,另一方面我想扩展交易者的交易工具。
1. OCO订单的本质
OCO订单(一个订单取消另一个订单)代表一对挂单。
他们通过相互撤销的机制协同运作:如果一个订单激活了,那么第二个订单将被删除,反之亦然。
图 1 一对OCO订单
图 1 表示一个简单的订单关联关系。它代表了:两张订单必须同时存在。根据逻辑关系,这对订单中的任何一张单子都无法独自存在。
有些资料上说这对订单必须一单为limit单,另一单为stop单,并且订单必须是同一个方向的(买或者卖)。据我所知这样的限制对于创造富有扩展性的交易策略是不利的。我建议各种OCO订单对类型都应该被分析一下,更为重要的是我们要将其程序化。
2. 程序化订单对
在我看来,OOP工具箱对于编写同OCO订单相关的任务是非常合适的。
下面部分将创建用于实现我们目标的新数据类型。首选是CiOcoObject类。
2.1. CiOcoObje
这篇关于MQL5 秘籍之:OCO订单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!