问题标签 [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.
message - 用于 MQL4 语言的 ZeroMQ 绑定中的 zmq_bind() 问题
我正在使用 MT4 并使用mql4zmq.dll
链接中给出的包装器
因为我已遵循所有说明并成功加载DLL
以及lib
预编译的特定位置的文件。但它不能通过bind
或connect
与socketzmq_connect(,)
或zmq_bind(,)
。请有人帮我解决这个问题。我在这里发布我的代码
里面有问题
它返回-1
而不是bind
。
我已经尝试了所有可能的方法来解开这个谜团,但失败了。
如果我记错了请告诉我!!!
mql4 - 布林带入场价不正确
建立基于布林带和随机指标的实践策略。
应该发生的情况是,如果Close
5 分钟柱线的 5 分钟柱线高于上限且随机指标已升至 80 以上,sell
则应进入订单,反之则下限 20。
但是,当我运行它进行测试时MT4
,我注意到交易非常偏离进场标记(例如,在布林带内而不是在外开盘)。它们不是在Close
一根柱线开盘,而是太高或太低几个点。
我究竟做错了什么?
这是我的代码:
algorithmic-trading - init() 和 OnInit() 有什么区别?
我正在学习 MQL4。在他们的参考网站上,创建自定义指标如下:
但是当我从 MetaEditor 中创建一个新指标时,我得到了另一种语法,如下所示:
为什么不一样?
有没有网页链接,或者有人可以参考我的书?从我读到的最好的地方是 MQL4 网站,但它看起来不同,我不知道现在该去哪里。
任何帮助将不胜感激。提前致谢。
metatrader4 - Metatrader4/MQL4 代码:依赖类的“错误参数计数”
为了简化我遇到的问题,我在foo.mqh
和中包含了两个类bar.mqh
。
当我编译它们时,我得到:
这是这一行foo.mqh
:
我已经阅读了其他处理此错误的帖子,但它们似乎不是面向对象的,我无法将这些实例与这个相关联。
是那个栏有默认值吗?....因为构造函数? 实际上这可能不是因为如果我把它们放在同一个文件中,我会得到同样的错误。
有没有办法解决这个问题?
任何帮助,将不胜感激。谢谢
bar.mqh
foo.mqh
trading - 定义 MQL4“#import of static class methods”的正确方法是什么?
我想要实现的是MQL4
在单独的文件中定义类(使用),并在主代码中使用这些类的方法。本质上是导入静态类成员函数。
使用函数时导致编译错误,如下所示:
编译器错误:
myfunction: function must have a body
(注意example.mq4
编译成example.ex4
可以导入ok)
algorithmic-trading - MQL4 函数指针/函数回调解决方案
据我所知,MQL4 中不存在函数指针。
作为一种解决方法,我使用:
然后在传递回调的源中:
现在 mcbi 可以按如下方式传递:
并且接收者可以回调为:
有没有更简单的方法在 mql4 中传递函数回调?
metatrader4 - MQL4 如何在账户变更期间检测状态(已完成历史交易的下载)
在MT4中,存在一个阶段/状态:当我们从AccountA切换到AccountB时,当Connection建立并且MT4触发init()和start()时;但在“blinnnggg”(声音)之前,当所有历史/未完成交易从服务器加载时。
切换帐户>建立连接>触发 Init()/Start() 事件>开始下载未完成/历史交易>完成下载(发出“bliing”声音)。
我需要知道(在 MQL4 中)所有交易都已从 tradeServer 下载完成——要知道该账户确实是空的——vs- 仍在从 tradeServer 下载历史记录。
任何指针将不胜感激。我已经探索IsTradeAllowed()
IsContextBusy()
和IsConnected()
. 所有这些都处于“正常”状态,并且 init() 和 start() 事件都可以正常触发。但我无法确定历史/未完成交易列表是否已完成下载。
algorithmic-trading - MQL5:如何在下新订单之前自动删除所有未触发的挂单?
我正在做一个项目,该项目需要我下一个BUYSTOP
和一SELLSTOP
对订单,如果这些订单没有被触发,然后在下一个栏上,然后删除它们并放置新的。
这是我的代码:
此代码在我测试时正确下订单并删除它们。
但是当 EA 在实时服务器上处于活动状态时,它不会打开订单,因为平台已经打开了其他工具的订单。
我敢肯定有一种很简单的方法可以解决这个问题,但由于我是新手,我无法弄清楚。
latency - 我可以通过 MQL4 检索连接延迟信息吗?
我正在MT4上创建EA,并希望通过MQL4代码检索延迟值(例如 123 毫秒) 。
是否可行?
我在MQL4参考中找不到此功能。