gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 06:55:09 27 4
gpt4 key购买 nike

这在某种程度上旨在(可能)成为(成为)MetaTrader 4/5 及其相应语言 MQL4 方面的指导性帖子,两者都设置为将数据发送到外部服务器的上下文。

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

因此,我正在寻找适当的解决方案来定期(例如每 60 秒)将数据从 MetaTrader 4/5 终端发送到外部服务器,格式为 jsoncsv(如果可能)。特别是,要发送的数据是账户交易历史记录和正在运行+待处理的交易集。

经过研究,我基本上发现了以下方法:

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

正如官方 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 脚本?

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

最佳答案

欢迎加入俱乐部 - 到目前为止,我上面引用的答案在 1.5 年内收到了零票

尽管如此,从 v2.11+ 开始就使用 ZeroMQ,感谢 Austen CONRAD 发表的研发工作 - 感谢并深深尊重他的坚持。

Q : "How would this be accomplished within the MetaTrader environment?"

只需 #import-s DLL 并开始使用 ZeroMQ-API 包装器调用。在 MetaTrader 默默地更改了 string 的内部表示形式,使其不再是 string(成为 "new"-MQL4.56789 中的 >struct,但您将学习如何忍受这个“始终在线监视” -风格,以便在生产中生存)

Q : "Will this still be an expert advisor or some kind of DLL solution?"

ZeroMQ 可用于以下任一和/或全部:

  • EA 交易-MQL4 类型-代码
  • 自定义指标-MQL4类型-代码
  • 脚本-MQL4类型-代码
    甚至可以提供代理信令/消息传递层,以便在 MT4 终端生​​态系统内这些原本独立且不合作的进程之间进行通信。

示例:
我让 MT4 终端流程与外部基于 AI/ML 的市场分析器配合,该分析器自动检测机会窗口,并具有外部 CLI 控制台,作为 MT4 终端托管控制面板的远程键盘,显示系统运行状况-状态和监听远程键盘,用于远程CLI命令控制(用于整个多方分布式交易系统的配置和维护任务)

Q : "What is the ZeroMQ's role within the setup?"

ZeroMQ 在任何类型的所需节点(网格计算、GPU 计算、CLI 终端、AI/ML 决策、系统- 范围内的统一中央日志记录,任何人可能需要的东西)

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

尝试设置和使用 M:N 冗余策略交易,通过 tcp:// + tipc:/的组合进行操作/ + norm:// + vmci:// 传输类别,用于互连 (A x M + N x B) 节点的外系统。

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

Q : "What are the pros and cons compared to the webrequest() function?"

请随意阅读 Stack Overflow 答案中的相关内容。

关于python - 如何将数据从 MetaTrader 4/5 终端发送到外部服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58845664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com