问题标签 [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 投票
2 回答
22148 浏览

mql4 - What do the shift parameters of iMA() function mean?

Can somebody explain me what is the difference between both shift parameters of the iMA function on an example?
According to the MQL4 documentation:

ma_shift - Moving Average shift. Indicators line offset relate to the chart by timeframe.

shift - Index of the value taken from the indicator buffer ( shift relative to the current bar the given amount of periods ago )

Which parameters are taken by the standard MA indicator?

0 投票
2 回答
507 浏览

math - MQL4 - 如何做简单的数学运算?

我有一个愚蠢的问题。为什么这是有效的:

但类似的事情不是:

或者

? 两个数相除有什么特别的技巧吗?:) 谢谢

0 投票
2 回答
2204 浏览

indicator - MQL4 指标向 EA 传递信号

问题是,当我的指标发出信号时,我想打开订单。我怎样才能做到这一点?

我一直在努力,iCustom()但并不令人满意。

我尝试在 EA 中使用GlobalVariableSet()指标和GlobalVariableGet()方法,但它没有正常工作。

请帮忙。

0 投票
2 回答
1136 浏览

php - 如何在不使用浏览器的情况下将数据发送到 PHP 页面?

由于我的困惑和菜鸟,我的另外两个问题(这里这里)没有很好地解决;我将有一个最后的 bash 来澄清我的问题。

我需要从我的交易终端发送历史交易和信号。该代码采用 MQL(C 变体)并使用Wininet.dll。我可以使用以下方法将数据发送到我的服务器:

我想在我的站点上使用insert.php脚本来读取 [testdata=] 之后的字符串,然后将其插入到我的数据库中以进行进一步分析。此字符串可能有数千个字符长,这会引起对 URL 长度限制的担忧。

人们提到了 cURL 和 jQuery,但我不明白如何使用上面的代码来模拟 POST 请求,因为数据字符串可能会变得非常大,具体取决于我从贸易日志中选择的日期。

我想尝试以正确的方式做到这一点,但它只是机器相互交谈而没有任何形式,所以这让我感到困惑。

如果我使用这个 cURL 示例,如何将长字符串传递给 $data 变量?

提前致谢。

0 投票
1 回答
920 浏览

c++ - Mac OS X 上的 MetaTrader 4 结合 C++ 或 R

我在 Mac (OS X 10.9.1) 上,并希望与我自己Metatrader 4的数据处理程序相结合。C++该程序将从我那里获取市场信息Metatrader并发送回特定工具的信号。

C++通过侦听 Python 程序发布的套接字上的数据,自行测试了该程序。对我来说最简单的方法Metatrader是使用mql4.

或者,我愿意使用类似DLL的接口发送数据并轮询信号。DLLs 是特定于 Windows 的,那么如何.dylib在 Mac 上设置类似的东西(例如),甚至可以使用 fromMetatrader吗?如果不可能,是否可以DLL通过 a使用 windows wineskin

如果有人有更好的建议,我绝对愿意改变计划(我也有代码RJava)。

0 投票
2 回答
1064 浏览

matlab - 将 MQL4 ibands() 转换为 Matlab

我正在尝试将指标从 MQL4(Metatrader 语言)翻译成 Matlab。布林带代码如下:

iBands()文档将 8 个输入列为:

我理解所有这些,除了bands_shiftand shift。问题:如果i = Bars是数据的整个范围,为什么不i+1创建超出范围的错误?据我所知,这是 20 个周期、2 个标准差布林带的代码。对于给定的时间间隔,相关的布林带值是否是为前一个时间间隔计算的值(因此1在第四个逗号之后)?那做什么i+1呢?鉴于此代码,我将如何在 matlab 中实现?我的尝试,使用这个移动标准差和这个移动平均值:

我认为这不会提供与 MQL4 代码相同的输出。任何提示都将不胜感激!

0 投票
1 回答
162 浏览

algorithm - 确定字符串组合频率的算法 MQL4

我有这样的csv文件:

该文件中可能有超过 15 000 行。我正在尝试编写可以执行此类操作的代码:

1.将第一行保存为父行。然后作为那个孩子需要接下来的 3 天。

2.计算该文件中子项与该父项的频率和组合。

3.它为此创建了类似摘要的内容,因此我可以阅读今天的组合,脚本显示接下来 3 天中唯一最常见的子组合。

我没有数学思维,所以我有很大的问题要自己找到解决方案。

我认为首先我需要脚本来生成这些由 EUR、CHF、USD、JPY、GBP 组成的列的所有可能组合,因此可能有 5*4*3*2*1 = 120 种组合。因为他们不能单行重复。

会是这样。

第一个父项将是第一行的组合,如下所示:EUR;CHF;USD;JPY;GBP

它将这种组合保存在父元素和子元素之外。然后它再次从文件的开头开始,但在下面移动一行(如迭代 +1)。那么接下来所有的孩子都会

它再次保存这些组合以进行计数并得出一些频率结果。这个循环对 csv 文件上的所有行重复。

是否有一些提示我应该考虑如何创建这种类型的程序?

任何提示都会很棒!

非常感谢!BB

0 投票
2 回答
4195 浏览

mql4 - 获取当前柱颜色,Metatrader。MQL4

有没有办法可以在 msql 中获取条形图的当前颜色。假设我在图表下降时将其设置为红色,在图表上升时将其设置为绿色。那么如何在 mql 中获取并返回当前颜色呢?

我尝试使用OBJPROP_COLOR但似乎无法让它工作。

0 投票
1 回答
366 浏览

c# - System.Xml.Linq 无法在 WEALTHLAB 编辑器中正确引用

我正在尝试编写基本上执行以下操作的 C# 代码:

  • 该代码连接到 MySql 表并从一个 MySql 表中读取数据(具有 r 行和 c 列) - 这里没有问题,一切正常;

  • 然后代码在 MySqlDataReader 的帮助下定义并加载一个 DataTable - 同样,在这个阶段没有问题。代码很好;

  • 该数据表的每一列实际上是该策略的一个策略参数(即该数据表的每一行因此变为one parameter set of the strategy.

话说回来:

  • 然后代码循环遍历该数据表的所有行;

  • 代码一一获取每一行的列值,并一一更改 XML 元素以用新的策略值替换旧的策略值 - 这就是我得到错误的地方!!!我无法在 WEALTHLAB C# 编辑器中修改 XML 文件!!

  • 这样,每次都会为策略配置一组新参数;

  • 然后代码调用 runDonor 并使用给定的(新)参数集运行策略 - 调用 runDonor 也没有问题!;

  • 最后,记录某些统计数据并将其插入到一个 MySql 表中 - 这里也没有问题;

**

考虑到这段代码中有很大一部分与 richlab 命名空间无关,我首先在 Visual Studio 中编写了大部分部分,然后使用 Visual Studio 编译器在那里编译,发现代码在那里工作得很好!(即 Xelement 编辑进行得很好。当这段代码在 Visual Studio 中运行时,我可以看到 XML 文件在每个循环之后都被修改了!)

然后,我将此代码复制/粘贴到财富脚本编辑器中,但不幸的是,代码没有编译!!。

**

问题出在我开始使用 ElementAt 方法修改 XML 文档的区域。

更具体地说,ElementAt 语句在 Visual Studio 编辑器中运行良好,而在 Wealthlab 编辑器中则不行。

重复一遍,尽管我引用了相同的 DLL 并在代码顶部使用了相同的USING...语句,Visual Studio 没有返回错误并彻底运行,而 Wealthlab 返回此错误:

我已经用谷歌搜索了很长时间,但还没有找到任何体面的解决方案。

而且由于我没有编程背景,我真的无法弄清楚为什么使用相同引用和相同 using 指令的相同代码在 Visual Studio 中有效,但在 Wealthlab 中产生错误。

在此链接上,发誓要提供一个解决方案替代方案,但坦率地说,这对我来说不是英语: System.Xml.Linq.XElement>' 不包含“First”的定义,并且没有扩展方法“First”接受第一个参数

**

所以,我的问题有两个:

1-如何克服这个与正确引用 System.Xml.Linq 相关的有趣错误?显然,这就是问题所在。

2-或者,让我们把它扔掉并从头开始:你们如何修改你的xmls?如果向我提供从 xml 文件读取或修改它们、保存它们的示例代码链接,那就太好了。

(请帮忙...)

为了让你们重复同样的错误,我还附上了整个代码;将此复制到您的编辑器,看看代码是否运行正常:

0 投票
2 回答
196 浏览

metatrader4 - 有人能告诉我 MQL4 和 MT4 的基本区别吗?

请用代码说明差异。我是新手。提前致谢。