2

我最近下载了 MetaTrader 终端平台 ( MT4)。

我有自己的回测引擎,它将一些输出存储在我的 SQL 服务器数据库中。输出取决于我正在测试的模型。但是,输出可以像进入交易的时间一样简单。

我想知道的

在 MQL4 中是否可以从 SQL 服务器数据库下载数据,然后用简单的“ B ”表示买入条目或用“ S ”表示卖出条目来注释图表?

所以我运行了一个回测模拟(即从 2010 年到 2011 年的 EURUSD)并存储了买入和卖出条目的时间。然后我想进入我的 MetaTrader 4 平台并运行一个脚本,该脚本将从我的 SQL 数据库中下载所有买入和卖出条目的时间,并在我的 EURUSD 图表上标记这些 XTO-s。

4

1 回答 1

2

是的,这是可能的

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 配置),或用于增强交易风格。

分布式处理-MQL4-Cloud-xtrnSignalProvider

是的,可以使您的 MT4 交易终端成为一种“远程可编程图表显示”,它不是由 FX-Market 驱动,而是由云处理器驱动,您的远程策略测试引擎规则...

分布式处理-MQL4-云-预测-技术-分析

于 2014-10-27T08:21:18.210 回答