首页 文章

从导入的DLL调用Metatrader MQL4 / MQL5函数

提问于
浏览
4

我想从Metatrader中我自己导入的DLL调用MQL4或MQL5函数 .

可能吗?

3 回答

  • 0

    森林,

    就我在过去2年中使用MetaTrader所经历的情况而言,没有真正的方法可以从外部DLL调用MQL函数 . 但是有一些自定义构建的API与您想要实现的非常相似:

    MT4 API

    MetaTrader™ Java / .Net API

    这些API确实允许您使用开箱即用的MQL功能

  • 5

    原则

    在FX领域数百人*年之后,还有另一种方法可以协调平稳而优雅的MT4终端与其他流程的合作,而不是试图将水推上山或者为套件支付500美元,这将停止Build 524-> Build 562-> Build 586-> Build 600-> Build 609-> Build 624 - >再次移动

    一个不存在的玩具

    是的,MT4架构没有暴露它自己的接口,允许自己被DLL等处理外部低级别呼叫的不确定性义务“扰乱” .

    如何修复它

    尽管如此,有可能扭转架构并使MT4终端充当轻量级瘦客户端,运行智能消息库,通过该库来暴露MT4功能以进行远程调用(RPC) .

    示例

    这样, Python 节点可以收集MT4数据进行数值处理,

    同样的方式 PHP 节点可以并行处理remote-syslog-s,

    同样的方式 C++ 节点可以集成另一个任务,

    同样,另一个节点可以充当CLI终端接口,使用特定于自定义的脚本语法语言通过命令行/ stdio命令MetaTrader端活动

    简单地说 - 无论您的应用程序基础架构需要什么,都可以通

    (甚至可能会改善原生MT4线程的实时性差,以获得更好的软实时可预测性和低延迟大规模并行架构..并且仍然处于更安全的一面,不受鱼雷攻击任何下一个“新”-MQL4)

    nota bene: 只是为了想象看不见的威胁,除了其他人之外, MQL4.56789 ,虽然是语法提议为字符串,但实际上并不是 string 而是 struct 以及之前所有与DLL相关的工作要重新处理和包装以模拟字符串结构或新的DLL接口必须针对案例进行设计,这些案例在缓冲的 ArrayOfBYTEs 中返回一个值, MQL4.56789 可以接收和处理,但是它无法释放它自己和内存泄漏 .

  • 2

    如果您的DLL可以作为.NET DLL,那么您可以尝试使用名为NQuotes的this MT4 .NET集成库 .

    使用此库,可以从DLL访问任何MQL4函数 .

相关问题