文章: 通用智能交易系统:交易策略的模式(第一章)

 

新文章 通用智能交易系统:交易策略的模式(第一章)已发布:

任何一个智能交易系统(EA)的开发人员,无论编程技能如何,每天都面临着同样的交易目标和算法问题的困扰,即应该如何建立一个可靠的交易系统。本文介绍CStrategy交易引擎,它可以给出这些任务的解决方案,并且向用户提供一种用于描述自定义交易思想的简便机制。

在实现自动交易算法时可能会出现各种子任务,包括分析市场环境来确定入市信号,以及平仓已有头寸。另一个可能的任务是控制EA的执行并恰当处理交易报错。最后,通过EA访问市场行情和交易头寸信息是一项相对简单的任务。所有这些任务都直接在EA的源码中进行实现。

另一方面,我们应该在EA中将交易过程的技术部分同交易思想的实现分离开来。使用面向对象的方法,我们可以分离这两个本质上不同的交易任务,并且将交易处理的实现放在一个特殊的公共类中给所有策略调用,有时也被称为交易引擎

这是描述这个引擎的系列文章的第一篇,它可以被称为通用智能交易系统。此名称是一组类的统称,通过一个开仓和平仓条件通用枚举值,使得交易算法的开发简便化。你无须向EA中添加所需数据和交易逻辑,例如,持仓查询 — 所有这些处理过程都由交易引擎完成。

一个策略的交易模式

通常,EA的交易操作需要被限制。最简单的例子是防止EA下多单或空单的操作。MetaTrader 4 提供了这些模式的一个典型开关。它在EA加载的时候出现,位于EA属性窗口的一个标签页上。

图 2. MetaTrader 4中的交易模式

然而,有更多的可能模式。此外,我们可能需要更灵活的工具来配置这些模式。例如,一些EA在交易中的某些时刻需要暂停。假设在太平洋时间段的外汇市 场,EA需要忽略新的开仓信号。这是限制EA在低流动性时间段进行交易的典型方法。实现这一功能的最好方法是什么,把它做成可选项?这可以通过4块交易逻 辑的组织来实现。

作者:Vasiliy Sokolov