MQL4:如何获取经济日历的事件值?
MQL4: How to fetch an economic calendar's event value?
如何使用 MQL4
获取经济公告的 最新 发布值,以便与另一个名为 x
的变量进行比较?
我需要将获取的数据(变量 x
)与 手动输入的 变量 y
值 170000
进行比较。
如果x > y
执行一个函数,如果x < y
执行另一个函数。
extern int x = 170000;
extern int y = ...; //Fetch latest value of economic announcement
//to compare to extern int x
void OnStart()
{
if(x>y){
//Executes a function
}
else
if (x<y){
//Executes a different function
}
}
使用 extern int
,如果我手动设置 x = 1
和 x = 3
(或任何其他数字),脚本将正常运行。我只是想知道 extern int
是否是获取值并将其转换为数字的合适方法,以便我可以通过 x > y
或 x < y
?[=26 比较它们=]
我从另一个网站找到了一个 SLOC,其中有人想将整个经济日历导入他们的算法(尽管事实上我只需要一个最新的值),我认为将其包含在其中可能有点用处这个问题。它从 .csv
文件导入数据,所以也许我也可以尝试这种方法。 SLOC:
extern string HtmlAdress = "http://www.dailyfx.com/calendar/Dailyfx_Global_Economic_Calendar.csv";
我知道延迟将是此方法的一个突出问题,但这是否有可能实现?
可以实现吗?是:
怎么办?
1.
找一个table和可靠的发表数据来源(发表延迟,数据有效性)
2.
检查,他们如何/是否使用某种技术传播或远程访问宏观数据的手段(RSS
-数据提要,而不仅仅是新闻专线,平面/"ondulated"普通html
网络-table(s),静态命名的文件更新等)
3.
实现一个代理扫描器,这将实现 (2)
自主执行外部操作MetaTrader 终端 及其内部代码执行单元。
4.
为 (3)
配备与协议无关的集成就绪方式,多平台,与 MT4
进程的在线通信(ZeroMQ
、nanomsg
、等)
5.
实施 MT4
ExpertAdvisor
代码以包含快速高效的通信交换和空闲握手 proxy-scanner (3)
.
工具?
经过多年的大规模系统集成,最有效的方法包括快速原型开发 (2+3+4)
python-2.x
是一个合理的方法执行此操作的选项和 ZeroMQ
或 nanomsg
为 (4+5)
提供合理广泛的移植框架
例子?是:
https://www.dailyfx.com/calendar/index_iframe.html?tz=2&sort=date&week=today&eur=true&usd=true&jpy=true&gbp=true&chf=true&aud=true&cad=true&nzd=true&cny=true&high=true&medium=true&low=true
Brings an algorithmically parse-able html
-table as a source of the needed value(s):
<tr class ="e-cal-row"
id ="eventrow10"
onClick ="commentOnOff('...xml',10,'english')">
<td></td>
<td>
10:00
</td>
<td><div class="flag-32-eur"></div></td>
<td width="100%">
EUR German IFO - Expectations (AUG)
</td>
<td class="evImportance medium"><span></span></td>
<td style="color:red" nowrap="nowrap">
<span style="color:red">
100.1
</span></td>
<td nowrap="nowrap">
102.4
</td>
<td style="color:red" nowrap="nowrap">
<span style="color:red">
102.2
</span></td>
<td align="right"><div class="arrow"></div></td>
</tr>
有风险吗?是:
更多的组件意味着更多的地方来实施错误恢复策略
解决方案最终取决于 (2)
的状态(可能实施 1+1 更新源)
最后,(2)
中的任何微小变化都会使您的处理线停止并强制您的实施循环回到 (2)
和re-开始re-工程,re-实施和重新-再次测试步骤。
如何使用 MQL4
获取经济公告的 最新 发布值,以便与另一个名为 x
的变量进行比较?
我需要将获取的数据(变量 x
)与 手动输入的 变量 y
值 170000
进行比较。
如果x > y
执行一个函数,如果x < y
执行另一个函数。
extern int x = 170000;
extern int y = ...; //Fetch latest value of economic announcement
//to compare to extern int x
void OnStart()
{
if(x>y){
//Executes a function
}
else
if (x<y){
//Executes a different function
}
}
使用 extern int
,如果我手动设置 x = 1
和 x = 3
(或任何其他数字),脚本将正常运行。我只是想知道 extern int
是否是获取值并将其转换为数字的合适方法,以便我可以通过 x > y
或 x < y
?[=26 比较它们=]
我从另一个网站找到了一个 SLOC,其中有人想将整个经济日历导入他们的算法(尽管事实上我只需要一个最新的值),我认为将其包含在其中可能有点用处这个问题。它从 .csv
文件导入数据,所以也许我也可以尝试这种方法。 SLOC:
extern string HtmlAdress = "http://www.dailyfx.com/calendar/Dailyfx_Global_Economic_Calendar.csv";
我知道延迟将是此方法的一个突出问题,但这是否有可能实现?
可以实现吗?是:
怎么办?
1.
找一个table和可靠的发表数据来源(发表延迟,数据有效性)
2.
检查,他们如何/是否使用某种技术传播或远程访问宏观数据的手段(RSS
-数据提要,而不仅仅是新闻专线,平面/"ondulated"普通html
网络-table(s),静态命名的文件更新等)
3.
实现一个代理扫描器,这将实现 (2)
自主执行外部操作MetaTrader 终端 及其内部代码执行单元。
4.
为 (3)
配备与协议无关的集成就绪方式,多平台,与 MT4
进程的在线通信(ZeroMQ
、nanomsg
、等)
5.
实施 MT4
ExpertAdvisor
代码以包含快速高效的通信交换和空闲握手 proxy-scanner (3)
.
工具?
经过多年的大规模系统集成,最有效的方法包括快速原型开发 (2+3+4)
python-2.x
是一个合理的方法执行此操作的选项和 ZeroMQ
或 nanomsg
为 (4+5)
例子?是:
https://www.dailyfx.com/calendar/index_iframe.html?tz=2&sort=date&week=today&eur=true&usd=true&jpy=true&gbp=true&chf=true&aud=true&cad=true&nzd=true&cny=true&high=true&medium=true&low=true
Brings an algorithmically parse-ablehtml
-table as a source of the needed value(s):<tr class ="e-cal-row" id ="eventrow10" onClick ="commentOnOff('...xml',10,'english')"> <td></td> <td>
10:00
</td> <td><div class="flag-32-eur"></div></td> <td width="100%">
EUR German IFO - Expectations (AUG)
</td> <td class="evImportance medium"><span></span></td> <td style="color:red" nowrap="nowrap"> <span style="color:red">
100.1
</span></td> <td nowrap="nowrap">
102.4
</td> <td style="color:red" nowrap="nowrap"> <span style="color:red">
102.2
</span></td> <td align="right"><div class="arrow"></div></td> </tr>
有风险吗?是:
更多的组件意味着更多的地方来实施错误恢复策略
解决方案最终取决于
(2)
的状态(可能实施 1+1 更新源)最后,
(2)
中的任何微小变化都会使您的处理线停止并强制您的实施循环回到(2)
和re-开始re-工程,re-实施和重新-再次测试步骤。