文章 "MQL5 — 您也可以成为该语言的大师" - 页 2 123 新评论 Eric A. Kantchev 2023.07.16 21:04 #11 我自己现在正在经历这段旅程,因此下面我将从一个希望使用自己的算法在 Metatrader 金融市场上交易的交易者的角度,对文章主题做一些简要说明。请记住,交易员的主要目标是交易,而软件工程师的主要目标是编程。 1.最大的障碍将是趟过无关紧要的泥潭,如今的互联网学习已成为真正的沼泽。找到好的学习资源要比找到正确的学习资源花费更多的时间和精力。 2.据我所知,没有低成本学习 MQL 的好途径。Udemy 课程并不是那么好(经验之谈),只有在大幅打折(10 欧元或以下)时才值得购买。Youtube 视频:如果您在寻找特定的内容,有些频道还不错。有几个频道只给你最基础的东西。没有一个频道会发布系统的课程,教您所有需要了解的知识,而且不是免费的。大多数免费的好视频通常是付费课程的营销漏斗。这没有错,只是你需要注意。我无法评论付费课程,因为我从未学过任何课程。 3.在软件工程领域,MQL 根本不存在。有一两本书是全面教授 MQL 语言的。因此,即使您有耐心和时间 , 学习这些知识也会耗费您数月甚至数年的时间。而这些时间本可以用来交易。要在自己的真实账户上制作足够复杂、值得信赖的 EA 和指标,所需的实际知识要少得多。很多东西对于自己使用的代码来说根本没有必要。如果您想成为自由职业者或出售预包装的 MQL 代码,当然需要掌握更多的语言。 附带说明:即使您是一名交易员,也值得花时间和精力学习一般的软件工程(使用 C++ 或 C# 等大型语言之一,但不包括 MQL)。如果你的账户爆仓,作为编码员赚钱可能会让你避免挨饿,并慢慢积累资金 再次 进入游戏。 4.本网站上的一套 MQL 参考网页是参考资料,而不是教科书。了解特定 MQL 语言元素的内部和外部是非常宝贵的。它是学习的噩梦(我知道,我试过了)。 5.我认为最好的方法是学习 C++ 的基础知识。C# 或 Java(不是 JavaScript,JS就 像 Python,但比 Python 差!)也很适合,尽管要远一些 。 此外,在我看来,学习 C 语言并无益处。在 2023 年,C 语言将成为系统编程(操作系统、驱动程序等)的利基语言。C++ 包含了您需要的所有经典 C 语言。 6.MQL 的核心功能实际上就是 C++。在基本语言的基础上,增加了一大堆枚举、内置函数和 MT 平台交易专用类。当然,C++ 中不存在这些特定的交易元素。一旦您知道 C++ 中变量、常量、数据类型、函数和对象的一般行为方式,就很容易获得这些额外的特定 MQL 元素。您需要充分学习 OOP,了解它是什么、有什么作用,以及如何在程序代码中与函数一起使用MT 库 内置类中的对象。使用可用的类比自己编程、创建库、管理数十或数百个头文件(.mqh)等要容易得多。自己编程 OOP 就好比建立一个跨国汽车制造公司,只为制造一辆汽车,这样你就可以每天从家里开车去上班了。 7.忘掉 Python。我可以写好几页的篇幅来介绍它,但请相信我的话。 Python 简化了一些事情,却在另一些事情上制造了麻烦。Python 真正的问题在于它有太多的自由。C++ 严格的语法、静态类型以及最重要的编译器,最终导致代码非常清晰可靠。Python 的自由往往是下水淹死自己的自由。学习 C++ 的 "困难 "与其说是现实,不如说是神话。想想看:C++ 的 {} 和 ; 在 Python 中被替换为 : 和强制缩进,最终的努力结果是差不多的 。 您不需要学习整个 C++ 来掌握 MQL5。我一路学习 Python 到 OOP,然后在 16 个月后意识到自己仍处于算法程序员旅程的 0 点,然后重新学习了 C++(我忘记了将近 30 年前作为 STEM 本科生学习的 C++ 课程的 99%)。此后,我就能编写可用的 MQL5 EA 和指标了。 6.在许多方面,MQL5 比 MQL4 更接近 C++。这导致许多事情在 MQL5 中比 MQL4 更难。尽管如此,在 2023 年,我们仍然不建议初学者学习 MQL4。MQL4 的生命力来自于它在当时的用户群。即使两种语言相同,MT5 也配备了卓越的回溯器,而且可以下载独立的 MT 平台,并拥有永不过期的非经纪商附属模拟账户,让您尽情玩耍。如果需要,一旦掌握了 MQL5,很容易将 MQL5 EA 反向转换为 MQL4。指标需要更多的努力,但仍然可以做到。 7.以下是适合我的学习路径: - 使用通用编程语言学习编程基础,使用 C++ 最简单,因为它最接近 MQL。所有编程课程都通过简单的控制台程序教授基础知识。MetaEditor 没有控制台。在终端日志中打印 "Helllo World!"远比直接在 控制台上使用 "cout >>"要难得多。您只能通过输入参数与 MQL 代码间接交互,而不能通过 "cin >>"实时交互。 - 一旦掌握了编程基础知识,就可以到 youtube 上查找视频,一步步建立一个完整的工作 EA 或指标(在撰写本文时有很多视频)。首先,观看整个视频,最有效的方法是关闭声音,打开字幕,并将 加速到 1.5 倍或 2 倍,以便掌握内容。然后,再次观看并输入代码,必要时暂停视频并倒带,同时打开声音。 - 不要参加更多编程课程--只需编写代码、编写代码、backtect backtest backtest。 遗憾的是,MQL 不提供单元测试功能(正确的软件工程不可或缺的),但如果有一些创造力,您可以开发自己的方法来使用 backtester 进行单元测试。 需要时,观看更多有关 特定主题的视频。本网站上的文章/帖子也同样有帮助。 根据需要经常按 MetaEditor 中的 F1 键。即使不需要,也要按一下,以便每天学习新知识或巩固已学知识。 Discussion of article "MQL5 MetaTrader 5 和 R MQL5中的ALGLIB数值分析库 Daniel Jose 2023.07.17 14:12 #12 Eric A. Kantchev 的演示版 来执行您想要的操作。如果您需要,可以在主宰 MQL5 之后,将 MQL5 的 EA 转换为 MQL4。指示器需要更多的努力,但却非常实用。 7.这就是对我有用的学习方法: - 学习普通编程语言的编程基础,C++ 更简单,因为它是 MQL 的前身。所有编程课程都会教授简单的控制台程序。MetaEditor 没有控制台。在《终端日志》中输入 "Olá, Mundo!"(你好,世界!)的体验远不如直接在 控制台中输入 "cout >>"。您只能通过输入参数来间接地与 MQL 代码进行交互,而不能通过 "cin >>"来实时交互。 - 在掌握了程序的基本原理之后,请访问 youtube 观看视频,逐一了解如何构建一个完整的 EA 或功能指示器(目前已有许多视频)。首先,协助观看内部视频,以更高效的方式删除视频和图例,并将 加速至 1,5 倍或 2 倍,以欣赏视频内容。然后,重新启动并同时删除字幕,暂停视频并重新启动(如有必要)。 - 无需进行更多的程序设计 - 只需对代码进行编码、回溯测试和回溯测试。遗憾的是,MQL 不具备单机测试的便利性(这对软件工程是必不可少的),但只要有足够的创造力,您就可以开发出自己喜欢的方法来使用回溯测试器。 如需了解更多详情,请访问 。本网站的文章/帖子也可被删除。 请在 "元编辑器 "中按 F4 键。如果您想学习新知识或回顾每天所学的内容,请也按 F4 键。 谢谢你提供的证据。这或多或少就是我写这篇文章的初衷。因为很多人一开始都不知道该往哪个方向走,最终放弃了学习或研究,认为这是一件非常困难或不切实际的事情。 Peng Peng Liu 2023.12.23 07:51 #13 文章好好看 1951797781 2024.06.23 06:38 #14 非常有帮助 Zheng Yong Hong 2024.06.29 04:57 #15 MetaQuotes: 新文章 MQL5 — 您也可以成为该语言的大师已发布: 作者:Daniel Jose 我也想當大師 Paweł Wilski 2024.08.06 06:41 #16 这篇文章很有价值,评论者的见解更有价值! Olusegun Victor Olagunju 2024.12.14 19:38 #17 这很有帮助。感谢您的分享。 Multi Dead 2025.01.25 17:40 #18 很好的建议。我以为用人工智能创建 EA 会很容易,但我错了。最好从聊天 GPT 中学习 C、C++。我是 Algo 交易的新手,不懂任何代码语言,但这仍然像游戏一样有趣。我非常感谢你的建议,我很喜欢玩这个游戏。 Ryan L Johnson 2025.01.25 20:05 #19 非常好的文章。它让我回到了童年,那时我在苹果 IIe 上用 DOS 语法绘制原始图形。 根据我后来的经验,MQL4 很容易学,因为它基本上是 C 语言的骨架版本。 多年后,我读了一本硬拷贝 MQL5 EA 编程书(现已绝版)的前 50 页,然后开始学习MQl5 编程。多年后,那本书仍然摆在书架上,书签就在第 50 页。所有这些都证明了文章作者提出的边做边学的建议。 虽然我曾涉猎过 Easylanguage 和 Python,也不止一次地涉猎过 MS Excel,但我还是坚持使用 MQL5,因为本地代码总是比 MT5 外部的管道或桥梁更快。此外,MQL5 的 "可选 "面向对象编程 (OOP) 元素对于我现在进行交易的期货交易所的自动交易是必不可少的。如果您想学习 MQL5,我建议您先阅读有关什么是 OOP 的入门读物。 比害怕学习一门新的编程语言更可怕的是害怕落后。 Alexey Volchanskiy 2025.04.14 22:53 #20 Sergey Pavlov #: 一篇赞扬自己是天才的文章:类似于 "我将教你如何从零开始成为编程大师,但事实证明,要做到这一点,你需要了解 C++,并有 23 年使用 C++ 的经验。而令人惊讶的是,有了这样的行李(C/C++),学习 MQL5 编程只花了 2 年时间。最后,"胡说八道","我是个天才,你 25 年后就能学会"。很遗憾,这样的文章发表在....。 一个巴西人花了 23 年时间用 C++ 写出 "Hello World!",这又怎样?我当然没有。也许他们会在他的故乡为他铸一座青铜纪念碑!所以我们默默地羡慕他。 我想说明的是,在将 int 类型隐式转换为 bool 时,false 的值实际上是零,而 true 则是与零不同的任何值。在 bool->int 转换时,一切都仅限于 0 和 1。 bool b1 = 0, b2 = -5, b3 = 5; Print(b1,", ", b2,", ", b3); Print((int)true,", ", (int)false); 2025.04.15 01:48:32.862 BuySellStop (USDCAD,M15) false, true, true 2025.04.15 01:48:32.862 BuySellStop (USDCAD,M15) 1, 0 123 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我自己现在正在经历这段旅程,因此下面我将从一个希望使用自己的算法在 Metatrader 金融市场上交易的交易者的角度,对文章主题做一些简要说明。请记住,交易员的主要目标是交易,而软件工程师的主要目标是编程。
1.最大的障碍将是趟过无关紧要的泥潭,如今的互联网学习已成为真正的沼泽。找到好的学习资源要比找到正确的学习资源花费更多的时间和精力。
2.据我所知,没有低成本学习 MQL 的好途径。Udemy 课程并不是那么好(经验之谈),只有在大幅打折(10 欧元或以下)时才值得购买。Youtube 视频:如果您在寻找特定的内容,有些频道还不错。有几个频道只给你最基础的东西。没有一个频道会发布系统的课程,教您所有需要了解的知识,而且不是免费的。大多数免费的好视频通常是付费课程的营销漏斗。这没有错,只是你需要注意。我无法评论付费课程,因为我从未学过任何课程。
3.在软件工程领域,MQL 根本不存在。有一两本书是全面教授 MQL 语言的。因此,即使您有耐心和时间 , 学习这些知识也会耗费您数月甚至数年的时间。而这些时间本可以用来交易。要在自己的真实账户上制作足够复杂、值得信赖的 EA 和指标,所需的实际知识要少得多。很多东西对于自己使用的代码来说根本没有必要。如果您想成为自由职业者或出售预包装的 MQL 代码,当然需要掌握更多的语言。 附带说明:即使您是一名交易员,也值得花时间和精力学习一般的软件工程(使用 C++ 或 C# 等大型语言之一,但不包括 MQL)。如果你的账户爆仓,作为编码员赚钱可能会让你避免挨饿,并慢慢积累资金 再次 进入游戏。
4.本网站上的一套 MQL 参考网页是参考资料,而不是教科书。了解特定 MQL 语言元素的内部和外部是非常宝贵的。它是学习的噩梦(我知道,我试过了)。
5.我认为最好的方法是学习 C++ 的基础知识。C# 或 Java(不是 JavaScript,JS就 像 Python,但比 Python 差!)也很适合,尽管要远一些 。 此外,在我看来,学习 C 语言并无益处。在 2023 年,C 语言将成为系统编程(操作系统、驱动程序等)的利基语言。C++ 包含了您需要的所有经典 C 语言。
6.MQL 的核心功能实际上就是 C++。在基本语言的基础上,增加了一大堆枚举、内置函数和 MT 平台交易专用类。当然,C++ 中不存在这些特定的交易元素。一旦您知道 C++ 中变量、常量、数据类型、函数和对象的一般行为方式,就很容易获得这些额外的特定 MQL 元素。您需要充分学习 OOP,了解它是什么、有什么作用,以及如何在程序代码中与函数一起使用MT 库 内置类中的对象。使用可用的类比自己编程、创建库、管理数十或数百个头文件(.mqh)等要容易得多。自己编程 OOP 就好比建立一个跨国汽车制造公司,只为制造一辆汽车,这样你就可以每天从家里开车去上班了。
7.忘掉 Python。我可以写好几页的篇幅来介绍它,但请相信我的话。 Python 简化了一些事情,却在另一些事情上制造了麻烦。Python 真正的问题在于它有太多的自由。C++ 严格的语法、静态类型以及最重要的编译器,最终导致代码非常清晰可靠。Python 的自由往往是下水淹死自己的自由。学习 C++ 的 "困难 "与其说是现实,不如说是神话。想想看:C++ 的 {} 和 ; 在 Python 中被替换为 : 和强制缩进,最终的努力结果是差不多的 。 您不需要学习整个 C++ 来掌握 MQL5。我一路学习 Python 到 OOP,然后在 16 个月后意识到自己仍处于算法程序员旅程的 0 点,然后重新学习了 C++(我忘记了将近 30 年前作为 STEM 本科生学习的 C++ 课程的 99%)。此后,我就能编写可用的 MQL5 EA 和指标了。
6.在许多方面,MQL5 比 MQL4 更接近 C++。这导致许多事情在 MQL5 中比 MQL4 更难。尽管如此,在 2023 年,我们仍然不建议初学者学习 MQL4。MQL4 的生命力来自于它在当时的用户群。即使两种语言相同,MT5 也配备了卓越的回溯器,而且可以下载独立的 MT 平台,并拥有永不过期的非经纪商附属模拟账户,让您尽情玩耍。如果需要,一旦掌握了 MQL5,很容易将 MQL5 EA 反向转换为 MQL4。指标需要更多的努力,但仍然可以做到。
7.以下是适合我的学习路径:
- 使用通用编程语言学习编程基础,使用 C++ 最简单,因为它最接近 MQL。所有编程课程都通过简单的控制台程序教授基础知识。MetaEditor 没有控制台。在终端日志中打印 "Helllo World!"远比直接在 控制台上使用 "cout >>"要难得多。您只能通过输入参数与 MQL 代码间接交互,而不能通过 "cin >>"实时交互。
- 一旦掌握了编程基础知识,就可以到 youtube 上查找视频,一步步建立一个完整的工作 EA 或指标(在撰写本文时有很多视频)。首先,观看整个视频,最有效的方法是关闭声音,打开字幕,并将 加速到 1.5 倍或 2 倍,以便掌握内容。然后,再次观看并输入代码,必要时暂停视频并倒带,同时打开声音。
- 不要参加更多编程课程--只需编写代码、编写代码、backtect backtest backtest。 遗憾的是,MQL 不提供单元测试功能(正确的软件工程不可或缺的),但如果有一些创造力,您可以开发自己的方法来使用 backtester 进行单元测试。 需要时,观看更多有关 特定主题的视频。本网站上的文章/帖子也同样有帮助。 根据需要经常按 MetaEditor 中的 F1 键。即使不需要,也要按一下,以便每天学习新知识或巩固已学知识。
7.这就是对我有用的学习方法:
- 学习普通编程语言的编程基础,C++ 更简单,因为它是 MQL 的前身。所有编程课程都会教授简单的控制台程序。MetaEditor 没有控制台。在《终端日志》中输入 "Olá, Mundo!"(你好,世界!)的体验远不如直接在 控制台中输入 "cout >>"。您只能通过输入参数来间接地与 MQL 代码进行交互,而不能通过 "cin >>"来实时交互。
- 在掌握了程序的基本原理之后,请访问 youtube 观看视频,逐一了解如何构建一个完整的 EA 或功能指示器(目前已有许多视频)。首先,协助观看内部视频,以更高效的方式删除视频和图例,并将 加速至 1,5 倍或 2 倍,以欣赏视频内容。然后,重新启动并同时删除字幕,暂停视频并重新启动(如有必要)。
- 无需进行更多的程序设计 - 只需对代码进行编码、回溯测试和回溯测试。遗憾的是,MQL 不具备单机测试的便利性(这对软件工程是必不可少的),但只要有足够的创造力,您就可以开发出自己喜欢的方法来使用回溯测试器。 如需了解更多详情,请访问 。本网站的文章/帖子也可被删除。 请在 "元编辑器 "中按 F4 键。如果您想学习新知识或回顾每天所学的内容,请也按 F4 键。
谢谢你提供的证据。这或多或少就是我写这篇文章的初衷。因为很多人一开始都不知道该往哪个方向走,最终放弃了学习或研究,认为这是一件非常困难或不切实际的事情。
新文章 MQL5 — 您也可以成为该语言的大师已发布:
作者:Daniel Jose
我也想當大師
非常好的文章。它让我回到了童年,那时我在苹果 IIe 上用 DOS 语法绘制原始图形。
根据我后来的经验,MQL4 很容易学,因为它基本上是 C 语言的骨架版本。 多年后,我读了一本硬拷贝 MQL5 EA 编程书(现已绝版)的前 50 页,然后开始学习MQl5 编程。多年后,那本书仍然摆在书架上,书签就在第 50 页。所有这些都证明了文章作者提出的边做边学的建议。
虽然我曾涉猎过 Easylanguage 和 Python,也不止一次地涉猎过 MS Excel,但我还是坚持使用 MQL5,因为本地代码总是比 MT5 外部的管道或桥梁更快。此外,MQL5 的 "可选 "面向对象编程 (OOP) 元素对于我现在进行交易的期货交易所的自动交易是必不可少的。如果您想学习 MQL5,我建议您先阅读有关什么是 OOP 的入门读物。
比害怕学习一门新的编程语言更可怕的是害怕落后。
一篇赞扬自己是天才的文章:类似于 "我将教你如何从零开始成为编程大师,但事实证明,要做到这一点,你需要了解 C++,并有 23 年使用 C++ 的经验。而令人惊讶的是,有了这样的行李(C/C++),学习 MQL5 编程只花了 2 年时间。最后,"胡说八道","我是个天才,你 25 年后就能学会"。很遗憾,这样的文章发表在....。
一个巴西人花了 23 年时间用 C++ 写出 "Hello World!",这又怎样?我当然没有。也许他们会在他的故乡为他铸一座青铜纪念碑!所以我们默默地羡慕他。
我想说明的是,在将 int 类型隐式转换为 bool 时,false 的值实际上是零,而 true 则是与零不同的任何值。在 bool->int 转换时,一切都仅限于 0 和 1。