文章 "MetaTrader 5 和 R 进行算法交易新手指南"

 

新文章 MetaTrader 5 和 R 进行算法交易新手指南已发布:

当我们揭开 R 和 MetaTrader 5 无缝结合的艺术面纱时,您将开始一场金融分析与算法交易的精彩探索。本文是您将 R 语言中的分析技巧与 MetaTrader 5 强大的交易功能连接起来的指南。

MetaTrader 是全球公认的交易平台领域的巅峰之作。该软件以其工业级的质量而闻名,免费提供,使广大用户都能使用。因此,MetaTrader 社区逐年稳步增长。该社区现在比历史上任何时候都更加多元化,由来自不同文化背景、拥有不同编程语言能力的个人组成。值得注意的是,除 MQL 5(平台官方语言)外,Python 也是 MetaTrader 平台唯一完全支持的编程语言。

对于从 R 语言过渡而来的社区成员,无论其背景是学术界还是科学计算领域,MetaQuotes 社区都张开双臂欢迎您。尽管 Python 取得了进步,而且 MetaTrader 终端还独家集成了 Python 作为唯一一种完全支持的语言,但精通 R 语言的个人不必认为他们的编程技能已经过时。本文对任何暗示过时的概念都提出了挑战,它说明了只要运用创造力和一点小聪明,使用 R 和 MetaTrader 5 构建一个全面的算法 EA 交易仍然是完全可行的。



根据作者的经验,必须注意的是,本文所讨论的软件包在 MetaTrader 5 终端中单独使用时,会表现出不完美的交互。每个软件包都有其独特的局限性。然而,当统一使用时,这些软件包有效地弥补了彼此的缺点,共同形成了一个强大的框架,有利于使用 R 和 MetaTrader 开发交易算法。

作者:Gamuchirai Zororo Ndawana

 

哇,感谢您发布这个帖子,期待着能开始使用它,感谢您提供了清晰的说明,视频也很有帮助。今天没时间了。

在安装 R 时,devtools 是 RStudio 的依赖项,因此如果注释掉 (#install.packages("devtools")) 并重启 R 后,系统会提示安装该依赖项,安装后代码运行正常,并为我加载了 MT5,我可以获取账户信息 等。请将 socket-library-mt4-mt5.mqh 的 include 添加到下载中。

 
linfo2 账户信息 等。请将 socket-library-mt4-mt5.mqh 的 include 添加到下载中。

foundsocket-library-mt4-mt5.mqh it hereSocket library for MT4 and MT5 - Other - 6 September 2017 - Traders' Blogs (mql5.com)

Socket library for MT4 and MT5
Socket library for MT4 and MT5
  • 2017.09.06
  • www.mql5.com
[Published as a blog entry because submission to the Codebase stalled on the fact that this socket library works with both MT4 and MT5, whereas the Codebase is divided into separate sections for MT4
 
linfo2 账户信息 等。请将 socket-library-mt4-mt5.mqh 的 include 添加到下载中。
这就是我深爱开源解决方案的原因,它是发展的催化剂。谢谢你,Linfo,感谢你慷慨地分享了你的真知灼见;你的贡献已经为大家提升了这个项目。我鼓励您继续分享任何进一步的改进或观点--您的持续投入将是无价之宝。感谢您的指出。
 
Gamuchirai Zororo Ndawana #:

感谢您的介绍性文章!

但我真的不明白,如果 Kinzel/mt5R 可以轻松实现所有的交易和仓位监控,那么为什么还要用 Python 和 reticulate 将代码复杂化呢?

 
mytarmailS #:

感谢您的介绍性文章!

但我真的不明白,既然 Kinzel/mt5R 可以轻松实现所有交易和仓位监控,而且所有功能都是现成的,为什么还要用 Python 和 reticulate 将代码复杂化呢?

Reticulate 和 Python 允许我们从 R 脚本中以编程方式启动 MetaTrader 5 终端。

如果您能找到从 Kinzel/mt5R 库中获取该实用程序的方法,那就太好了,请分享您的意见。

 
Gamuchirai Zororo Ndawana #:

Reticulate 和 Python 允许我们通过 R 脚本以编程方式启动 MetaTrader 5 终端。

如果您能找到从 Kinzel/mt5R 库中获取该实用程序的方法,那将会非常棒,请分享您的观察结果。

您不需要Kinzel/mt5R 库

尝试运行此 R 代码在 Windows 上运行 MT5

# run mt5
system("cmd.exe", input='"C:\\Program Files\\RoboForex - MetaTrader 5\\terminal64.exe"')


# shut down mt5
system("Taskkill /IM terminal64.exe /F")
 
mytarmailS #:

您不需要使用Kinzel/mt5R 库

尝试运行此 R 代码在 Windows 上运行 MT5

啊👏👏您正在调用终端并向其传递命令行指令🔥想得真好👌👏

从这里我们可以做很多事情,比如优化日程安排
 
Gamuchirai Zororo Ndawana #:
啊👏👏 你在调用终端并向其传递命令行指令🔥 想法不错👌👏。

从这里我们可以做很多事情,比如优化日程安排

使用它!

正如您所看到的,R 在 MT5 中的交易完全自给自足,不需要使用 python。

 
mytarmailS #:

使用它!

正如您所看到的,R 完全可以在 MT5 中自给自足地进行交易,而无需使用 python。

我一定会在今后所有使用 R 的文章中使用它,谢谢您的分享。

如果您有更多建设性的批评意见,或者您发现代码中有些地方可以做得更有效,请随时提出来。你已经改进了很多算法。
 
Gamuchirai Zororo Ndawana #:
我一定会在今后所有使用 R 的文章中使用它,谢谢你的分享。

如果您有更多建设性的批评意见,或者您发现代码中有些地方可以做得更有效率,请随时提出来。你已经在不断改进算法了。
Ок )