请回答几个问题:
1.作者在第一篇文章中提到了平台独立性...
2. 当交易 10 种工具,每种工具有 2-3 个系统,每个系统有 10 个参数时,XML-portfolio 将成为一个非常大的文件,很难手工编辑而不出错。也许在这种情况下,将 XML 投资组合存储在不同的文件中会比较合理--每个工具一个文件,其中包含在该工具上交易的系统及其参数信息? 这样就可以更方便地启用/禁用(通过在文件中设置复选框)工具交易和该工具上的单个 TS。
非常感谢Vasiliy Sokolov 如此详尽的工作。 请回答几个问题: 1.作者在第一篇文章中提到了平台独立性... 2. 当交易 10 种工具,每种工具有 2-3 个系统,每个系统有 10 个参数时,XML-portfolio 将成为一个非常大的文件,很难手工编辑而不出错。在这种情况下,也许应该将 XML 投资组合存储在不同的文件中 - 每个工具一个文件,其中包含在该工具上交易的系统及其参数的信息? 这样就可以更方便地启用/禁用(通过在文件中设置复选框)工具交易和该工具上的单个 TS。
遗憾的是,第一个问题不太容易回答。实际上,要使该引擎在 MT4 中工作,需要编写很多东西。我会尽快完成。当我将引擎移植到 MT4 上时,我会发表一篇相应的文章。
关于第二个问题 - 最好将所有内容存储在一个文件中。XML 很好,因为它允许您组织树状部分,即使有大量标签也不会混淆。另外,XML 标准本身并不欢迎人工编辑。它是一种用于算法之间相互通信的工业格式。在理想情况下,每个 XML 文件都应该有一个常规应用程序形式的 gui 口罩,允许您编辑策略参数。不过,尽管这很简单(从算法的角度来看),却需要花费大量时间,所以目前我们还是直接编辑 xml 文件。
每个 xml 文件都应该有一个常规应用程序形式的 gui 口罩,允许编辑策略参数。不过,虽然这很简单(从算法角度看),但需要花费大量时间,所以目前我们还是直接编辑 xml 文件。
理想的解决方案是在用户面板上设置一个 "编辑 "按钮,打开一个窗口来编辑相应的<策略>... 部分。 </策略>:)
是啊,那太好了。我只需要找到一个愿意出面的人这并不难,我甚至可以告诉你该怎么做。
瓦西里-索科洛夫(Vasiliy Sokolov),应该指出的是,您在创建通用引擎方面做了大量工作,并展示了对 OOP 的精湛掌握。因此,学习这本教材本身对提高您的 MQL5 编程技能就很有帮助。
该引擎包含许多必要和有用的要点,许多交易者都会需要它。
我目前正在将我的机器人从 S#.Shell 引擎迁移到 MT5,我必须说,您创建的交易引擎实现了我在熟悉 Codebase 中提供的标准智能交易模板时所缺乏的许多功能。此外,尽管上述产品是整个程序员团队的杰作,但许多功能都是在同一水平上实现的,甚至更酷。
因此,在熟悉之后,我决定停止我的代码工作,将其移植到您的引擎中。
瓦西里-索科洛夫(Vasiliy Sokolov),应该指出的是,您在创建通用引擎方面做了大量工作,并展示了对 OOP 的精湛掌握。因此,学习这本教材本身对提高您的 MQL5 编程技能就很有帮助。
该引擎包含许多必要和有用的要点,许多交易者都会需要它。
我目前正在将我的机器人从 S#.Shell 引擎迁移到 MT5,我必须说,您创建的交易引擎实现了我在熟悉 Codebase 中提供的标准智能交易模板时所缺乏的许多功能。此外,尽管上述产品是整个程序员团队的杰作,但许多功能都是在同一水平上实现的,甚至更酷。
在这方面,经过熟悉之后,我决定停止我的代码工作,将其移植到您的引擎上。
感谢您对我提出的方法的赞赏。
我想指出的是,CStrategy 交易引擎本身是基于标准库的,从数据组织类开始,到 CTrade 交易类结束。标准库是优秀、强大和高效的,但并非所有类都是真正的OO。其中许多只是标准函数的封装。OO 方法的目标不是以另一种更复杂的方式调用标准函数,而是以尽可能高效的方式执行有用的任务,同时隐藏实现的复杂性。但这已经是一种哲学了......
感谢您对我提出的方法的赞赏。
我想指出的是,CStrategy 交易引擎本身是基于标准库的,从数据组织类开始,到 CTrade 交易类结束。标准库是优秀、强大和高效的,但并非所有类都是真正的OO。其中许多只是标准函数的封装。OO 方法的目标不是以另一种更复杂的方式调用标准函数,而是以尽可能高效的方式执行有用的任务,同时隐藏实现的复杂性。但这已经是一种哲学了...
请告诉我如何使用 MoneyManagement 模块。示例中没有显示。是每个策略的 MoneyManagement 设置都不一样,还是整个投资组合的设置都一样?
为什么要在 MoneyManagement.mqh 中设置这些外部变量?我不明白它们用在哪里。
input ENUM_MM_TYPE TypeMM; // Тип управления MM
input double FixLotOrPercent; // Фикс. лот или %
你好。
这份材料很有意思。我读了之后决定在实践中尝试一下。我试图在 MT5 Build 1295 中编译所附的 Expert Advisor Agent.mq5。所有文件都没有错误,但最后出现了 "编译器内部错误"。您能告诉我该从哪里查找吗?
新文章 通用智能交易系统:组合交易及管理策略组合(第四章)已发布:
在最后一篇关于CStrategy交易引擎的系列文章中,我们将考虑多个交易算法同时运行,学习如何从XML文件加载策略,并将给出一个简单的面板,用于从可执行模块中选择EA,并管理它们的交易模式。
点击面板中的任何一个按钮,定义了执行何种操作并执行之。例如,如果我们从列表中选择了一个策略,当前策略的索引值将等于选中的这个,然后你可以进行后续交易操作了。比如,你可以通过从下拉列表中选择恰当的策略模式选项,来改变选中策略的交易模式。
图 2. 选定策略的模式列表
代表选定策略的买入和卖出执行起来是一样的。策略的指针调用CStrategy基类的Buy和Sell方法。交易量由传入的参数确定。在这种情况下,执行中的magic数字对应于策略的编号,因此无法区分手动交易还是EA交易。
需要注意的是EA的交易逻辑,所有用户的开仓以一般模式被EA所保持。它管理这类头寸如同管理其自动开仓的头寸一样。
作者:Vasiliy Sokolov