如何使MetaTrader终端DDE在本地将FOREX费率导出到Node.js服务器?

时间:2017-02-04 20:45:17

标签: node.js mql4 mql5

我有一台运行在我的计算机上的Node.js服务器,同时我也在运行MT4.exe。

如果我可以通过此脚本将实时费率导出到简单的Excel文件中。

    BID   request: = MT4|BID!USDCHF 
    ASK   request: = MT4|ASK!USDCHF
    HIGH  request: = MT4|HIGH!USDCHF
    LOW   request: = MT4|LOW!USDCHF
    TIME  request: = MT4|TIME!USDCHF
    QUOTE request: = MT4|QUOTE!USDCHF

我想这意味着我可以轻松地将实时费率导出到我的Node.js服务器。

我该如何实现?

在Excel中,我只将此代码 MT4|BID!USDEUR 粘贴到单元格中,并且每次BID USDEUR速率更改时单元格都会更改,这会使单元格生效。

2 个答案:

答案 0 :(得分:0)

是的,左DDE - request是一种可能的MetaTrader终端集成方法,但是......!

鉴于需要一个单向的通信方向,并且业务领域不是任何关键任务的。

虽然我记得几天,当银行间货币市场交易依赖REUTERS产品时,有基于Excel电子表格的“分析”的附加内容,但可以公平地说,这样的日子永远消失了。只需比较在通过代理经纪人完全开启外汇交易之前的交易日数量,通常是银行间交易日。

那时间间隔的 QUOTE 延迟是几分钟。

今天?如果有人提供LP提供商数据Feed,那么有很多单位,如果不是数十个PriceDOMAIN QUOTE - 事件只有一毫秒。 < / p>

明白了一点?
对于N [kTPS]事件流量的系统来说,DDE是一种风险较高的方法,可能很高兴知道,它已经被有效地终止了Vista推出后

如果一个人的业务领域是以AUM的风险价值高于几百万美元来处理外汇交易,那么没有人会面临表现不佳或停止服务的风险。

基于DDE的服务已经在Windows Vista的某个地方推出了MT4交易域,因为它正式但间接地终止了那些日常混合DDE服务的混合使用(在wV中正式实施,但大多数DDE调用返回 "Not Implemented" 错误/响应)。

这种第一手获得的经验已经将人群转移到其他方式,如何整合交易支持系统,并且设计根本没有返回用于恢复服务,这导致了如此多的痛苦和成本,在噩梦般的体验中WV。

最佳下一步:

假设上面描绘的项目不是一个周末的爱好玩具,那么定义,发现和使用这个项目目标的最好的足够强大和平台独立的工具。

有人可能会尝试恢复 DDE ,但这将是几十年前的尝试。

以同样的方式,通过不将任何直接的应用程序到应用程序集成逻辑重新包装到开销和设计/性能妥协/ scape-goats (非常有限的) WebRequest() 函数调用( for restrictions of WebRequest() one may check other posts on this subject )的人工 - REST - 重新修饰。虽然有机会WebRequest()不仅可以使用 pull- ,还可以使用push-数据服务,成本和http-header + http-body payload-encoding +完整的tcp / ip-stack相关开销对于给定的目的来说是不合理的,一旦有更智能的设计工具可用

这种现代工具定义的几点:

  • 性能扩展(发送10k,100k,1M +更新/ s的稳定性)
  • 集成支持(有多少语言绑定/平台支持该工具)
  • 线程安全设计(可以使用多少个线程(在MetaTrader终端的受限代码执行环境限制之外),以减轻任何不利的阻塞或性能瓶颈,并允许某种类型的失败 - 分布式系统处理方案的安全设计)

如果需要一些动手实例,one may have a look on nanomsg and/or ZeroMQ tools, in other MetaTrader Terminal related posts,已经接管了FINTECH高性能,可扩展,低延迟的消息/信令,并且变得稳定/成熟,足以花费合理的时间。

  

无论如何
祝福外汇市场好运!

答案 1 :(得分:-3)

使用 dde ​​建议您将实时获得费率,您无需每秒创建 dde ​​请求