问题标签 [metatrader4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1101 浏览

metatrader4 - Multi-timeFrame 指标的 MQL4 总结果

大家晚上好,

谁能告诉我如何从 MTF 指标获得总结果,例如 MACD:

M1= 买, M5= 卖, M15= 卖, M30= 买, H1= 买, H4= 买, D1= 买,

总结果 = 5 买 & 2 卖

如何将其实现到MQL4代码中?感谢您的所有回答。

0 投票
1 回答
806 浏览

metatrader4 - 在 mq4 中创建数组数组

如何在 mq4 中创建数组数组?

我有这个参数的功能:

我想创建一个数组,其中每个位置都引用另一个数组,例如:

然后像这样迭代:

有可能做这样的事情吗?我该怎么做?

0 投票
1 回答
4515 浏览

algorithmic-trading - MetaTrader 的异步网络请求

我正在尝试为 MetaTrader 构建一个可以发出异步互联网请求的自定义指标是否可行,以便将数据发布到具有 PHP 接口的服务器。

这些请求可能需要一些时间让网络服务器处理,所以我担心如果它们以同步方式执行,它们会阻止指标不断更新新的分时数据。

是否有任何可用于 MT4 的异步库?

0 投票
1 回答
1705 浏览

export - MT4 导出脚本

以下MQL4脚本将数据从 MetaTrader 导出到csv文件。不幸的是(至少对我而言),生成csv文件中数据的顺序从 0 到 1000,0 是最新的(从现在到过去)。我希望文件从 1000 排序到 0(从过去到现在)。

我将下面的写入数据循环更改为:for (int bar=Export_Bars; bar==0 bar--)但这只是生成了一个空csv文件。

所以我的问题需要对脚本进行哪些更改才能将过去的数据导出到当前顺序?

0 投票
2 回答
4638 浏览

algorithmic-trading - init() 和 OnInit() 有什么区别?

我正在学习 MQL4。在他们的参考网站上,创建自定义指标如下:

但是当我从 MetaEditor 中创建一个新指标时,我得到了另一种语法,如下所示:

为什么不一样?

有没有网页链接,或者有人可以参考我的书?从我读到的最好的地方是 MQL4 网站,但它看起来不同,我不知道现在该去哪里。

任何帮助将不胜感激。提前致谢。

0 投票
1 回答
3015 浏览

metatrader4 - Metatrader4/MQL4 代码:依赖类的“错误参数计数”

为了简化我遇到的问题,我在foo.mqh和中包含了两个类bar.mqh

当我编译它们时,我得到:

这是这一行foo.mqh

我已经阅读了其他处理此错误的帖子,但它们似乎不是面向对象的,我无法将这些实例与这个相关联。

是那个栏有默认值吗?....因为构造函数? 实际上这可能不是因为如果我把它们放在同一个文件中,我会得到同样的错误。

有没有办法解决这个问题?

任何帮助,将不胜感激。谢谢


bar.mqh


foo.mqh

0 投票
1 回答
2102 浏览

trading - 定义 MQL4“#import of static class methods”的正确方法是什么?

我想要实现的是MQL4在单独的文件中定义类(使用),并在主代码中使用这些类的方法。本质上是导入静态类成员函数。



使用函数时导致编译错误,如下所示:

编译器错误:

myfunction: function must have a body

(注意example.mq4编译成example.ex4可以导入ok)

0 投票
1 回答
334 浏览

server - Metatrader 5 数据馈送器

我尝试使用 Gateway API 为 Metatrader 5 编写自己的数据馈送器。我编译了网关 API 示例,但是当我尝试运行它们时,我的 Metatrader 测试服务器显示:“datafeeder 状态 - 离线”。它只是看不到我的数据馈送器。有人对如何将数据馈送器连接到服务器有任何想法或示例吗?

0 投票
2 回答
743 浏览

metatrader4 - MQL4 如何在账户变更期间检测状态(已完成历史交易的下载)

在MT4中,存在一个阶段/状态:当我们从AccountA切换到AccountB时,当Connection建立并且MT4触发init()和start()时;但在“blinnnggg”(声音)之前,当所有历史/未完成交易从服务器加载时。

切换帐户>建立连接>触发 Init()/Start() 事件>开始下载未完成/历史交易>完成下载(发出“bliing”声音)。

我需要知道(在 MQL4 中)所有交易都已从 tradeServer 下载完成——要知道该账户确实是空的——vs- 仍在从 tradeServer 下载历史记录。

任何指针将不胜感激。我已经探索IsTradeAllowed() IsContextBusy()IsConnected(). 所有这些都处于“正常”状态,并且 init() 和 start() 事件都可以正常触发。但我无法确定历史/未完成交易列表是否已完成下载。

0 投票
2 回答
2145 浏览

algorithmic-trading - MQL5:如何在下新订单之前自动删除所有未触发的挂单?

我正在做一个项目,该项目需要我下一个BUYSTOP和一SELLSTOP对订单,如果这些订单没有被触发,然后在下一个栏上,然后删除它们并放置新的。

这是我的代码:

此代码在我测试时正确下订单并删除它们。

但是当 EA 在实时服务器上处于活动状态时,它不会打开订单,因为平台已经打开了其他工具的订单。

我敢肯定有一种很简单的方法可以解决这个问题,但由于我是新手,我无法弄清楚。