是的,这是可能的
MQL4 语言,包括“新”-MQL4(又名 MQL4.5),具有用于导入基于 DLL 的服务的语法支持,允许重新集成工具,MQL4 的封闭语法不允许获得更多自然的方式。
//+------------------------------------------------------------------+ // msMOD(s) 2014 >>> [dev]_test_(python)_.PUB__(mql).SUB_with_KBD_and_SIG___StatefullGrammarFSA
//| Ver 4.00, Build 509 [dev]__********.mq4 | // msMOD(s) 2013
//+------------------------------------------------------------------+ //
#property copyright "[dev] msMOD(s) (c) 1987-2014" //
// ---------------------------------------------------------------------<#import>.start
#import "msLIB_services.ex4"
void msLIB.aSnapshot.MAKE();
#import
// ---------------------------------------------------------------------<#import>.end
// ZMQ LIBRARY |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#include <mql4zmq.mqh> // Include the libzmq.dll abstraction wrapper
// |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
这样您的代码,无论是它MQL4-Script
还是MQL4-ExpertAdvisor
可以与外部进程通信,包括。任何合理工作的 DBMS。
谨防
代码设计和集成架构应该牢记的重要特性很少。MQL4 从早期开始就不是一个普通的顺序处理器,也就是说,MQL-CustomIndicator
它与这种范式相去甚远。代码(除了 的情况MQL4-Script
)充当事件驱动的工厂,由传入市场事件的异步流启动。Alpha用户有责任采取一切措施不违反此和OmegaMQL4 原则的实时稳定性。换句话说,一个糟糕的设计,可能会导致一些 I/O 阻塞(由于 RDBMS 处理等),很可能是交易终端崩溃的原因,这是任何人都不愿意经历的最后一件事(无论是在实时交易还是回测阶段),不是吗?
因此,一个健全的非阻塞、异构、并行多处理集成架构和代码设计将用于此任务。
效果很好,如果专业完成
牢记这一点,可以让非常智能、快速和(几乎)无限的架构与交易终端一起工作。有多个案例,通过 python 在 MT4/MQL4 代码和 AI/ML 引擎之间进行近实时消息传递,快速 FIX-Protocol 流引擎用于从流动资金池提供者实时数据输入,使用远程 NVIDIA/GPU 计算结构,远程共同集成的 IRC/skype/email 信号供应渠道。
所以一个可以做的哲学已经到位。从这个意义上说,SQL 没有什么额外的。在同样的意义上,贴标签是微不足道的。凭您的想象,MQL4 允许构建(再次,使用近实时设计)响应/交互式 GUI 层,允许在几个 [msec] 稳定性障碍内以纯图形方式与交易终端一起工作方式(很久以前,一键交易营销标签只有点击购买/点击销售)与线控制/图形对象可视化交易辅助工具完全交互工作,无论是完全自动化的交易执行(使用规则集的间接 GUI 配置),或用于增强交易风格。
是的,可以使您的 MT4 交易终端成为一种“远程可编程图表显示”,它不是由 FX-Market 驱动,而是由云处理器驱动,您的远程策略测试引擎规则...