问题标签 [mql4]

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 回答
1052 浏览

message - 用于 MQL4 语言的 ZeroMQ 绑定中的 zmq_bind() 问题

我正在使用 MT4 并使用mql4zmq.dll链接中给出的包装器

因为我已遵循所有说明并成功加载DLL以及lib预编译的特定位置的文件。但它不能通过bindconnect与socketzmq_connect(,)zmq_bind(,)。请有人帮我解决这个问题。我在这里发布我的代码

里面有问题

它返回-1而不是bind

我已经尝试了所有可能的方法来解开这个谜团,但失败了。

如果我记错了请告诉我!!!

0 投票
1 回答
755 浏览

mql4 - 布林带入场价不正确

建立基于布林带和随机指标的实践策略。

应该发生的情况是,如果Close5 分钟柱线的 5 分钟柱线高于上限且随机指标已升至 80 以上,sell则应进入订单,反之则下限 20。

但是,当我运行它进行测试时MT4,我注意到交易非常偏离进场标记(例如,在布林带内而不是在外开盘)。它们不是在Close一根柱线开盘,而是太高或太低几个点。

我究竟做错了什么?

这是我的代码:

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 投票
2 回答
2690 浏览

algorithmic-trading - MQL4 函数指针/函数回调解决方案

据我所知,MQL4 中不存在函数指针。

作为一种解决方法,我使用:

然后在传递回调的源中:

现在 mcbi 可以按如下方式传递:

并且接收者可以回调为:

有没有更简单的方法在 mql4 中传递函数回调?

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 在实时服务器上处于活动状态时,它不会打开订单,因为平台已经打开了其他工具的订单。

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

0 投票
1 回答
939 浏览

latency - 我可以通过 MQL4 检索连接延迟信息吗?

我正在MT4上创建EA,并希望通过MQL4代码检索延迟值(例如 123 毫秒) 。

是否可行?

我在MQL4参考中找不到此功能。

0 投票
1 回答
728 浏览

metatrader4 - 寻找资金流量指数和余额交易量之间的交叉点

我正在寻找两者之间的交叉

只要

请检查示例:

iMFI 和 iOBV 示例

这里是 .TPL 模板 <aClickTHRU>

谢谢你的任何想法

更新:

穿越细节:

交叉细节

交叉细节 2

平衡量:iOBV 属性

iOBV 属性