文章 "开发回放系统 — 市场模拟(第 26 部分):智能交易系统项目 — C_Terminal 类"

 

新文章 开发回放系统 — 市场模拟(第 26 部分):智能交易系统项目 — C_Terminal 类已发布:

现在,我们可以开始创建回放/模拟系统的智能系统。不过,我们需要改进一些东西,并非敷衍了事。尽管如此,我们不应被最初的复杂性所吓倒。重要的是从某处开始,否则我们最终只会空想一项任务的难度,甚至没有尝试去克服它。这就是编程的全部意义:通过学习、测试和广泛的研究来攻克障碍。

您也许已经注意到,我是面向对象编程(OOP)的忠实粉丝。这是由于 OOP 提供的丰富能力。它还提供了一种从头开始创建健壮、安全和可靠代码的途径。一开始,我们要得到如何组织项目的结构来完成我们所需的初步思路。作为经验丰富的用户和程序员,我意识到要令智能交易系统真正有效,它所用的资源必须始终对我们可用:键盘和鼠标。鉴于 MetaTrader 5 平台基于图表,故使用鼠标与图形元素进行交互是必不可少的。但键盘在辅助各个方面也扮演着关键角色。不过,讨论超出了鼠标和键盘的用途,故将在自动化系列中涵盖。在某些情况下,无需这些工具即可实现完全自动化,但当选择使用它们时,参考正在执行的操作性质就很重要。因此,并非所有的智能交易系统都适合所有类型的资产。

这是因为某些资产的价格变动为 0.01。其它的也许为 0.5,而有些也许为 5。就外汇而言,这些数值与上述示例的区别很明显。由于数值的多样性,一些程序员选择专门为特定资产开发 EA。原因很清楚:交易服务器不接受随意数值;我们需要遵守服务器设置的规则。同样的原则也应用于回放/模拟系统。我们不允许 EA 执行含有随机数值的订单。

引入这种限制不仅是必要的,而且是极其必要的。如果在实盘账户上交易时系统的行为完全不同,那么据回放/模拟功能进行训练是没有意义的。因此,系统必须维持确定的标准化,并尽可能适配实盘账户的真实情况。因此,无论在何种境遇下,都有必要开发一款 EA,就像它与交易服务器直接交互一样工作。

作者:Daniel Jose

原因: