0

我尝试使用我的应用程序从 MetaTrader 4 读取数据 ( on vb.net)

我捕获数据,DDE但它只是bid, ask, high, low. 所以我必须尝试另一种方式。

我想读取成品蜡烛的实时数据(M5等等M15

如何从 MetaTrader 4 读取实时蜡烛数据?

提前致谢。

4

1 回答 1

1

DDE-客户端拉数据模式

DDE-model 允许外部进程要求 DDE 服务器(可以在 MT4 内部运行)独立于其他 MetaTrader 终端操作来响应外部请求。

MQL4 推送数据模式

通过主动推送数据策略可以更好地控制实时性能、范围和其他功能,其中 MetaTrader 终端软件运行它的内部MQL4代码执行工厂,该工厂为任何外部流程运行适当的推送数据便利。

MQL4语言区分了几种操作模式:

MT4 中的每个图表都可能与一个所谓的用 MQL4 语言编码的图表相关联Expert Advisor

MT4 中的每个图表都可能与其他几个 MQL4 程序相关联Custom Indicators

MT4 中的每个图表都可能与一种Script 三分之一类型的 MQL4 程序相关联

使用它,可以满足任何类型的实时导出需求,包括低延迟、实时数据发布OHLCV+T+ 实际Ask - Bid(又名传播)数据,用于刚刚关闭(无论是 ,BarM1任何其他形式的合成时间) - 市场事件流程的框架)。M5M15

原则

MQL4程序在语法上使用 c 类编程语言(小心,MQL4不模仿c-lang并且在许多方面都是特定的,但配备了您可能期望的几乎所有语法构造函数c-lang)。

从概念上讲,您Expert Advisor的代码类型可以导出任何数据,基于所有此类程序所期望的一个条件......它必须从外汇市场(来自 MetaTrader 服务器,在您的经纪商端运行)接收有关“新“- QUOTE(又名勾号)。在这种情况下,您的代码通过一个OnTick(){...}函数获得控制权,您可以为您的预期导出做任何合理的事情。

如果您想使用Script-model,则无需等到周一外汇市场开始,因为这种类型的代码一旦通过OnStart(){...}函数启动就可以控制,与市场事件的流程没有任何同步性。

您的MQL4代码甚至可以与 DLL 发布的 API 服务合作,所以从技术上讲,只有您的想象力才是潜在的限制。

进一步阅读

MQL4 参考 / MQL4 程序

MQL4 参考 / 语言基础

MQL4 参考 / 语言基础 / 函数 / 外部函数的描述

MQL4 参考 / 语言基础 / 面向对象编程 / 多态

于 2015-11-11T00:51:57.493 回答