我最近下载了MetaTrader终端平台(MT4
)。
我有自己的后台测试引擎,它将一些输出存储在我的SQL服务器数据库中。输出取决于我正在测试的模型。但是,输出可以像交易进入时一样简单。
我想知道什么
可以在MQL4中 下载 来自SQL服务器数据库的数据,然后 annotate 图表中有一个简单的“ B ”表示买入条目,或< S “表示卖出条目?
所以我进行了一次回测模拟(即2010年至2011年的EURUSD)并存储了买入和卖出条目的时间。然后我想去我的MetaTrader 4平台并运行一个脚本,它将从我的SQL数据库下载所有买卖条目的时间,并在我的EURUSD图表标签上下载这些XTO-s。
答案 0 :(得分:2)
MQL4语言,包括“ New ” - 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 &amp; Omega MQL4原则的实时稳定性。换句话说,一个糟糕的设计,可能会受到一些I / O阻塞(由于RDBMS处理等),很可能是交易终端崩溃的原因,这是任何人都愿意体验的最后一件事(无论是在实时交易还是反向测试阶段),不是吗?
因此,一个健全的非阻塞,异构,并行多处理集成架构&amp;代码设计将用于此任务。
保持这一说法允许非常智能,快速和(几乎)无限的架构与交易终端一起工作。通过python实现MT4 / MQL4代码和AI / ML引擎之间近乎实时消息传递的多个案例,快速FIX协议流媒体引擎,用于从流动性池提供商输入实时数据,使用远程NVIDIA / GPU计算结构,远程共同整合的IRC / skype /电子邮件信号供应渠道。
所以可以做到哲学就绪。从这个意义上讲,SQL并不是额外的。在同样的意义上,Puting标签是微不足道的。仅仅是你的想象力,MQL4允许构建(再次,使用近实时设计)响应/交互GUI层,允许在几个[毫秒]稳定性障碍内,以纯图形方式与交易终端一起工作方式(很久以前 One-Click-Trading 营销标签只需点击购买/点击销售)与线控/图形对象视觉交易辅助工具完全交互式工作,无论是完全自动化的交易执行(使用规则集的间接GUI配置),还是增强交易风格。