首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将数据从MetaTrader 4/5终端发送到外部服务器?

如何将数据从MetaTrader 4/5终端发送到外部服务器?
EN

Stack Overflow用户
提问于 2019-11-13 21:11:19
回答 2查看 3.9K关注 0票数 2

这在某种程度上是为了(可能)成为(可能)一个关于MetaTrader 4/5及其相应语言MQL4的指导文章,它们都是通过向外部服务器发送数据而设置到上下文中的。

在我的特殊情况下,我正在构建一个基于Django/Python的web应用程序,它将处理外汇交易数据以供进一步使用。

因此,我正在寻找一种适当的解决方案,将数据从json 4/5终端发送到外部服务器(例如每60秒一次),格式为 csv (如果可能的话)。特别是,要发送的数据是帐户交易历史和运行+待定交易集。

在做了这项研究之后,我基本上找到了以下方法:

( 1.)在用专家顾问webrequest()包装的MQL4中使用

正如官方的MQL4文档所建议的那样,webrequest()函数向指定的服务器发送一个http://请求。

这是一个相关的SO线程:

How to post from MetaTrader Terminal 5 MQL 5 a request to my nodejs server, which is running locally on my MT5 host?

和正式文件:

https://docs.mql4.com/common/webrequest

可以将其包装到专家顾问中,以便在给定的定义事件上定期执行请求。

可以将来自MT4/5终端的哪类数据填充到数据数组中?

如何格式化这些数据?是否可以立即将其格式化为json,还是应该在服务器端进行格式化?

( 2.)使用ZeroMQ

这是我在这个线程中找到的一个设置:How to send a message in MQL4/5 from MetaTrader Terminal to python using ZeroMQ?

如何在MetaTrader环境中实现这一点?这是否仍然是一个专家顾问或某种DLL解决方案?在设置中,ZeroMQ的角色是什么?

webrequest()函数相比,有什么优点和缺点?

( 3.)其他人?

是否还有其他类似于API或MQL4脚本的方法来实现这一目标?

由于这是一个罕见的话题,我期待任何微小的想法和投入。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-13 22:45:27

欢迎来到俱乐部

尽管如此,由于奥斯汀·康拉德( Austen CONRAD )发表的R&D研究成果,自v2.11+以来一直在使用v2.11+--感谢并深深尊重他的执着。

Q:“如何在MetaTrader环境中实现这一点?”

一个简单的#import-s DLL并开始使用ZeroMQ包装器调用。一些细节变得更复杂了,因为string的内部表示已经悄无声息地改变了,不再是string (成为"New"-MQL4.56789,中的struct,但您将学会如何忍受这种“始终在观察”-style,以便在生产中生存)。

Q:“这仍然是一个专家顾问还是某种DLL解决方案?”

ZeroMQ可用于和/或全部:

  • Expert顾问-type of MQL4-code

  • Custom指示器MQL4-code

-type

英国皇家银行(

  • Script-type of MQL4-code )

甚至可以提供一个代理信令/消息传递层,以便在mt4终端生态系统中的这些单独和不合作的进程之间进行通信。。

示例:

我有MT4 4终端进程与基于外部AI/ML的市场分析器合作,它可以自动检测机会窗口,并拥有外部CLI控制台,作为MT4 4终端托管控制面板的远程键盘,显示系统健康状态并监听远程键盘,用于远程CLI命令控制(用于整个多方分布式交易系统的配置和维护任务)。

Q:“ZeroMQ在设置中扮演什么角色?”

ZeroMQ提供了一个独立的、智能的、行业标准的、智能的、低延迟的信令/消息传递层(网格计算、GPU计算、CLI-treminal、AI/ML决策、全系统统一的中央日志记录,任何可能需要的)。

尝试为跨集群计算范式设置和使用远程tipc://-transport-class和任何其他方法。

尝试建立和使用M:n-冗余策略交易,操作跨越tcp:// + tipc:// + norm:// + vmci://传输-类,用于互连(exo+exo)-nodes的外部系统。

尝试建立一个系统,它要求MetaTrader从外部做一些工作,没有这种技术( webrequest()还没有准备好任何“来自外部的问题”,是吗?)

Q:“与webrequest()函数相比,它的优缺点是什么?”

请随意阅读这方面的堆栈溢出答案。

票数 2
EN

Stack Overflow用户

发布于 2020-10-31 20:10:32

与Python的集成、对市场和信号服务的支持(Linux)和MetaTrader 5中高度优化的策略测试器构建2085年

MetaQuotes软件公司,2019年6月14日

在新的MetaTrader 5版本中,我们添加了一个API,它使用MetaTrader高级编程语言,通过应用程序支持对MetaTrader 5终端数据的请求。API包含多个用于机器学习、过程自动化以及数据分析和可视化的库。

MetaTrader 5与Python的集成

MetaTrader软件包是为直接从MetaTrader 5中通过处理器间通信高效、快速地获取交换数据而设计的,可用于统计计算和机器学习。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58845664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档