文章 "开发 EA 构造函数的一次尝试"

 

新文章 开发 EA 构造函数的一次尝试已发布:

在本文中,我把自己的一套交易函数以成品 EA 的形式提供给大家。 这种方法能够通过简单地添加指标和改变输入来获得多种交易策略。

由构造函数创建的 EA 立即拥有多个设置,可以组合这些设置来创建独特的策略。 版本 4.XXX 应用了以下规则: 

  • 使用当前品种符号(EA 启动时所在图表的品种符号)
  • 止盈、止损和尾随都在输入中设定。 Points — 依据报价货币计量的当前品种符号点数大小,例如 “EURSD” 1.00055-1.00045=10 个点。

通过拖动十字线工具,始终可以在品种符号图表上看到 “点数”:

点数

图例 1. 点数

作者:Vladimir Karputov

 
我没有看到任何附件。只有一个。
 
Andrei Novichkov #:
我没有看到任何附件。只有一个。

技术故障马上就好

 

下午好,感谢您的文章,但我有一个问题:)为什么不使用标准类并为其加载附加功能?

为什么不使用标准类并为其加载附加功能,因为这样做既简单又方便,而不是发明自己的自行车?

 
Daniil Kurmyshev #:

下午好,感谢您的文章,但有一个问题 :)

为什么不使用标准类并为其加载附加功能,因为这样做尽可能简单方便,而不是发明自己的自行车?

你可能尝试过自己补充 CExpert,而且还成功了?

 
Vladimir Karputov #:

您可能尝试过自己补充 CExpert,甚至成功过?

是的,下面是一个示例,说明您如何在 新类CExpertCustom 中继承 基类CExpert

1.通过新交易(多交易)补充头寸的可能性得以实现。

由于基类具有虚拟函数,这些函数在子类中被重写,并在未来从 CExpertCustom 继承的类中隐藏起来,不再使用。

2.2. 实现了更改智能交易系统基础符号的可能性,这使得创建多货币智能交易系统成为可能。

一句话

标准的CExpert 类具有较高的运行速度

尽可能可靠且经过测试

易于补充和维护

通过继承新的CExpertCustom 类,可以在一个机器人中创建多币种智能交易系统。

由于标准类积极使用继承和多态性,因此可以创建按照完全不同的逻辑工作的智能交易系统,但其基本功能的处理和顺序是相同的。

在这种情况下,Expert Advisors 的构造函数可以根据终端模板使用,并带有必要的指标和 MM...

附加的文件:
 
Daniil Kurmyshev #:

是的,下面的示例说明了如何在 新类CExpertCustom 中继承 基类CExpert

1.实现用新交易补充仓位的功能(多交易)

由于基类具有虚拟函数,因此这些函数在子类中被重写,并在未来的 CExpertCustom 继承类中隐藏起来,不再使用。

2.实现了更改 "智能交易系统 "基本符号的可能性,这使得创建多货币 "智能交易系统 "成为可能。

一句话

标准CExpert 类具有较高的运行速度

最高可靠性和久经考验

易于补充和维护

如果您继承了新的CExpertCustom 类,就可以在一个机器人中创建多货币专家。

由于标准类积极使用继承和多态性,因此可以创建按照完全不同的逻辑工作的智能交易系统,但其基本功能的处理和顺序是相同的。

在这种情况下,Expert Advisors 的构造函数可以根据终端模板使用,并带有必要的指标和 MM...

CExpert 以及由其生成的所有内容都已很长时间没有经过测试了。这就是为什么我们制作了自己的交易函数集:并进行了大量检查。您所展示的类的功能还不及我的方法的一小部分。

 
Vladimir Karputov #:

CExpert 以及由它生成的所有功能都已经很久没有被检查过了。这就是为什么我自己制作了一套交易函数:具有许多检查功能。您所展示的类甚至连我的方法的一小部分功能都没有。

你使用的标准库

#include <Trade\PositionInfo.mqh> (包含 <Trade\PositionInfo.mqh

#包含 <Trade\Trade.mqh

#包含 <Trade\SymbolInfo.mqh

#include <Trade\AccountInfo.mqh

#include <Trade\DealInfo.mqh

#include <Trade\OrderInfo.mqh

#include <Expert\Money\MoneyFixedMargin.mqh>

您的功能文件 "Trading engine 4 "使用了与 CExpert 类完全相同的库只是您自己编写了Trade类的处理过程,而您开发的检查和类似机制已经在CExpertBase、 CExpertTrade 和其他类中实现了。......,这就是我要说的,这就是为什么我说要创建另一辆自行车,因为你可以重新设计 CExpert 类,这样它就可以通过检查,如果由于某种原因没有通过,只要你做一次,就不会再有这个问题了。

我认为你有一套很好的基本功能,如果在大型项目中使用这些功能,会很难操作,但将捐赠者项目中的功能复制到自己的项目中,很多人会很喜欢,但很难使用整个类,不像 CExpert 类,通过文章中提到的 相同的 "MQL 向导",很容易部署开箱即用。

 
祝贺您的精彩文章。
这篇文章的文件没有附在阅读终端上,只有 "Indicators_Code.mq5"。

能否请您添加到文章中?

谢谢!(对不起,我的英语不好)
 
存档:
附加的文件:
9717_411.zip  56 kb
 
Vladimir Karputov #:
文件归档:

你好,弗拉基米尔、

我有一个关于 "挂单 "和 4.004 交易引擎中相应的 "最大点差 "参数的问题;


在达到相应点差之前,该功能会等待挂单多长时间?

换句话说,如果一段时间后点差没有减小到指定值,挂单不会被取消吗?这个循环是如何工作的?