罗菲德的图书馆 - 页 3

 
Roffild:

为什么我需要编造一些复杂的东西呢?

这个例子展示的不是指标,而是将专家顾问的信息作为指标输出的可能性 ,而不需要创建外部代码。

如果ToIndicator_Example.mq5没有工作,那么指标文件夹/Roffild/中的代码在终端启动 时一定没有建立。日志会很有帮助。

当然,我们都习惯于从头开始创建一切,所以没有人愿意学习新的库,但在当今世界,使用第三方代码是一种常见的做法...

平台开发者正在系统地改进按功能排列软件模块的系统,而你和你的图书馆却朝相反的方向发展,想再次将一切非人格化...)
 
Ivan Negreshniy:
平台开发者系统地改进了按功能对软件模块进行排名的系统,而你和你的图书馆却朝着相反的方向发展,想要再次将一切非个性化...)

要划分成模块,你需要一个依赖性管理系统。现在没有这样的MQL系统,将来也不太可能有。

在正常的开发中,没有明确划分为专家顾问、库、指标和脚本--一切都相互关联。在MQ,他们决定将它们分开。这个部门适用于充斥着CodeBase的小项目

CodeBase中没有这个库的主要原因是无法在一个档案中或通过版本控制系统发布所有文件。现在你必须将每个文件单独添加到数据库中 - 但这是无稽之谈...因此,由于这些限制,CodeBase中不可能有大中型项目。

 
你好,你能为日志库(Log4MQL.mqhLog4MQL_tofile.mqh+LogMX模块 的使用编码吗,如何写入日志
 

罗菲德图书馆

我在MQL5编程社区中被称为Roffild,这是我的MQL5开源库。这是在MQL5中实现一些功能的尝试,这些功能在很久以前就成为流行编程语言的标准。每个文件中都实现了一个想法。当需要新的功能时,该库就会得到补充。

很少有人尝试在Github上发布该项目。没有统一的标准。在创建项目时,MetaQuotes没有考虑到版本控制系统的使用。出于某种原因,MetaQuotes的程序员认为,一个项目必须是一种类型。对于在MQL5.com的CodeBase中发布的小型项目,这种划分是合理的。对于中型和大型项目,不可能选择一种项目类型。

我已经尝试过不同的项目建设结构。我不得不把文件移到标准的MetaQuotes文件夹结构之外,以便使用Git。创建一个链接到一个中间文件夹(在这个库中是 "Roffild "文件夹)是最佳选择。

MetaEditor可以保存UTF-16的代码,但也支持带BOM的UTF-8编码。要转换源代码文件,你需要使用第三方编辑器(我推荐Notepad++)。

该图书馆可以细分为兴趣。

  • 常见的任务(ArrayList, Log4MQL, ToIndicator, etc.)。
  • 在机器学习中使用AlgLib进行实验。
  • 当AlgLib功能不足时,使用Apache Spark与亚马逊网络服务(EC2和EMR)。

文件

MQL5
爪哇

参考文献

Roffild.com
Github
MQL5.com: 用英语讨论的话题
MQL5.com: 俄语的讨论主题


安装

(可选)

mklink /j link where - 不需要管理员权限。

把%APPDATA%\MetaQuotes文件夹放在一个分区的根部或一个较大的分区上是有意义的。 Windows有255个字符的文件路径限制。我有一个包含88个字符的MQL5文件夹的完整路径。 测试时,终端按本地代理的数量复制历史记录,这使这个文件夹的大小增加了几个G。

  1. 将文件夹%APPDATA%MetaQuotes移至D:\MQLProjects
  2. mklink /j %APPDATA%\MetaQuotes D:\MQLProjects
  3. mklink /j D:\MQLProjects\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\ D:\MQLProjects\MQL5

(重要)

克隆项目后从MQL5\MyProjects\RoffildLibrary文件夹中运行create_links.bat。

代码风格

谷歌Java风格

Tab=3个空格

栏目限制=110

许可证

阿帕奇许可证2.0

 
Библиотека Roffild’a
Библиотека Roffild’a
  • roffild.com
Я известен сообществу программистов на MQL5 под ником Roffild и это моя библиотека с открытым кодом для MQL5. Попытка реализовать возможности на MQL5, которые уже давно стали стандартом для популярных языков программирования. В каждом файле реализована одна идея. Библиотека пополняется по мере необходимости в новых возможностях. Мало кто...
 
"将数据写入MySQL格式文件",为什么没有从这个格式中读取?
 
Aleksey Vyazmikin:
"将数据写入MySQL文件格式",但为什么没有从这种格式中读取数据?
因为写成文本格式很容易,但要从这种格式中读出,你需要使用一个分析器。https://en.wikipedia.org/wiki/Parsing
Parsing - Wikipedia
  • en.wikipedia.org
The term has slightly different meanings in different branches of linguistics and computer science. Traditional sentence parsing is often performed as a method of understanding the exact meaning of a sentence or word, sometimes with the aid of devices such as sentence diagrams. It usually emphasizes the importance of grammatical divisions such...
 
Roffild:
因为写成文本格式很容易,但你必须使用分析器从这种格式中读取。https://en.wikipedia.org/wiki/Parsing

例如,使用MQL创建1000个列,一点也不容易...

 
Aleksey Vyazmikin:

谁能,谁不能,比如说用MQL创建1000个列,一点都不容易......

嗯...MQL根本就没有列。而MQL !=SQL是完全不同的语言。

对于那些懂得SQL的人来说,当他们的数量超过5000个通行证时,就更容易筛选出优化后的最佳通行证了。已在TesterSql.mqh 中实施