问题标签 [mt4]
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.
indicator - 如何在 Expert Adviser 中从 MQL4 中的自定义指标获取变量值?
如果我有一个myIndi
生成变量 ( ) 的指标 ( Var1
),请问如何Var1
从 EA 访问?
我试过iCustom()
但没有得到结果。
c++ - 如何创建 C++ DLL(使用 DEV -C++)并在 MT4 脚本中使用(一步一步)
我正在尝试使用 DEV-C++ IDE 工具创建自己的 DLL,并尝试在 MT4 脚本中使用它。我尝试研究任何 MT4 安装中可用的示例文件 [MT4_HOME]\MQL4\Scripts\Examples\DLL\DLLSample.cpp,我尝试使用其他脚本遵循相同的逻辑,但没有成功。下面我将详细描述我为了清楚起见而遵循的步骤。我想了解为什么按照所描述的步骤我自己的 dll 不起作用。
系统配置
- 装有 Windows 10 的笔记本电脑;
- 已安装 Dev-cpp
- 已安装 MT4
目标
- 使用“dev–c++”IDE工具编写我自己的dll;
- 编译dll;
- 在 mt4 中使用 dll 到一个简单的脚本中。
脚步
- 首先,我在桌面上创建一个名为 mydll 的文件夹;
- 我启动 dev-cpp IDE 工具;
- 文件->新建->项目;
- 我选择项目类型-> DLL
- 我写项目名称:mydll
- 我按确定按钮
- 然后我选择保存项目的文件夹(步骤 a 在桌面中创建的文件夹 mydll)并按保存
- 此时 Dev –C++ 向我显示了两个文件模板(dllmain.cpp、dll.h),但我忽略它们并关闭它们而不将它们保存到项目中。关闭它们后,我还将它们从 IDE 工具中删除(用鼠标单击并单击每个文件的删除文件)
- 现在我在 devc++ 项目上正确单击 -> 新文件
- 现在我将我自己的 DLL 的源代码粘贴到这个文件中。(以下代码) 注意:熟悉metatrader 4的人请注意,此代码是标准MT4安装文件[MT4_HOME]\MQL4\Scripts\Examples\DLL\DLLSample.cpp的片段
- 我将此文件保存到名为 mydll.cpp 的 DEV-C++ 项目文件夹中
- 现在,在 DEV-C++ IDE 工具中,我按下 F9 按钮来编译这个文件。
- 观察结果:编译过程成功完成,没有任何错误和警告 b. 一些文件出现在 DEV-C++ 项目中(mydll.dll、libmydll.def、libmydll.a、mydll.o、Makefile.win、mydll.layout)。
- 现在,我将 mydll.dll 复制并粘贴到 MT4 的 [MT4_HOME]\MQL4\Libraries 目录中
- 现在,我创建一个空文件夹 [MT4_HOME]\MQL4\Scripts\Examples\mydll
- 我将文件 mydll.cpp 和 libmydll.def 复制并粘贴到 [MT4_HOME]\MQL4\Scripts\Examples\mydll 文件夹中
- 最后,我在 [MT4_HOME]\MQL4\Scripts\Examples\mydll 文件夹中创建了一个名为 mydllTester.mq4 的新文件。下面是源代码
- 我使用 MT4 代码编辑器打开文件 mydllTester.mq4 并编译该文件。
- 最终测试作为最后一步,我进行了测试以检查它是否有效。我打开 Metatrader4,打开一个新图表,然后单击我的脚本。我的期望是数字 10 出现在图表的左上角,但它不起作用。你能帮我理解我犯错误的步骤吗?非常感谢。致以最诚挚的问候
python - 如何从 python 控制 MT4?
我正在使用 MetaTrader4 终端,并且我是经验丰富的 python 开发人员。
有谁知道,如何连接 MT4 和 Python?
我想:
- 连接到 MT4
- 读取美元/欧元数据
- 下订单(买/卖)
有谁知道一些图书馆,一个带有说明或文档的页面,或者至少知道如何做到这一点?
我用谷歌搜索了前 30 页,但没有发现任何有用的东西。
c# - 无法实例化管理器实例
我正在使用这个库为 MetaTrader4 开发一个 asp.net web api,但未能实例化。这是我的试验:
例外是:
该代码在控制台项目下运行时正常,但在 asp.net web api 项目中失败。
有人可以帮忙吗?
mql4 - MQL4:OrderModify() 总是得到 130 响应
我希望我的 EA 自动修改订单,将止损设置一次处于盈利状态,但为什么总是出错?
我也已经达到了最低点,但这并没有给我带来任何运气。
这是变量
我想要的是使止损水平比最小止损点水平高 1.5 倍,我也已经添加了点差。
这些变量由经纪人自动填充。
c++ - C++:从标准库构建 DLL 时出现错误 LNK2019
我尝试使用 Visual Studio 2017 构建一个 DLL 以允许我的 MT4(一个著名的 FX 电子交易平台)也通过套接字与我的服务器通信(参见下面的代码,它在控制台程序中工作)并遇到了 LNK2019错误。
根据我从各种在线博客/论坛帖子中了解到的情况,这是由于依赖关系/从静态库中导出动态库等,但不知道如何修复它。
MT4.h
MT4.cpp
错误信息:
arrays - 在 MQL4 MetaTrader4 [Expert Advisor] 中根据 Symbol() 定义一个数组
我有一个交易突破的 EA。我在多对上运行这个。当具有高相关性的两对交易方向相同(或相反,如果负相关)时,就会出现问题。这使我的风险加倍。因此,我在我的 EA 中添加了一个片段,如果已经存在与当前交易品种高度相关的交易品种的未平仓头寸,则该片段会阻止开启新交易。
(这是我尝试过的):
编译后,这是我得到的警告
这只是一个警告,而不是错误。
android - Android 上的 MT4 API
我想问一下是否可以使用 API(准确地说是 MT4)并将其用于创建 android 应用程序?
MT4 API 由一个头文件和一个 DLL 文件组成。
非常感谢。
mql4 - 在 OnTick() 中强制停止 EA
我正在为 backTest 制作 EA。
通常程序是这样工作的。
Ontick()
被调用直到某个时间段结束。OnDeinit()
OnTester()
被称为。
但是现在我想停下来OnTick()
并转到2)。
像这样,
我想我可以停下来OnInit()
(检查用户的初始设置等...)但是我可以停止 EA 吗OnTick()
???
总之,我想做的是,
OnTester()
从内部调用OnTick()
并完成程序。
mt4 - 动态取消已发送的 BUYLIMIT 订单
我正在这样OrderSend
使用
在这种情况下,买入将在价格达到 100 时执行。
但是当价格达到 100 时,我想再检查一层。
像这样。
这可能吗 ?还是OrderSend
不能取消?