问题标签 [mql5]
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.
mql4 - 在 MQL4 中将结构传递给构造函数
当你有 10 个或更多时将每个单独的 args 传递给构造函数是乏味的并且不是很容易维护 - 也使得读取构造函数 args 相当麻烦。
我想使用的模式在 Ruby/Node/Python 中很常用,并希望在 MQL4 中有类似的东西
所以我想将一个键值对对象传递给带有所有参数的构造函数。不幸的是,我得到 -
从编译器。
我在 C 的总成绩是 n00b,这是我第一次尝试 MetaQuotes4 程序 (EA)。我已经用谷歌搜索并搜索了这些文档。除了文档说传递类、数组和结构只能使用按引用传递来完成之外,找不到任何东西。
问题是第 10 行。
它加载了编译错误——因为这是一个 WIP。我可以处理的其余错误,但 params 问题中不允许的结构让我感到困惑。任何帮助或建议都会很棒。
也许有另一种模式?
提前致谢。
mql4 - 无法使用 #property strict 进行迭代
我有这个代码工作没有错误。基本上,此代码是显示每 5 分钟前五个柱的移动平均线的值。MA 的当前值被省略。
包含时#property strict
,代码仅在编译后工作一次。图表上的新条M5
存在后,它不会进行任何迭代。
如果我坚持使用,解决方案是什么#property strict
?
mql5 - OnTesterInit 工作时间过长
在 Metrader 5 上运行优化时,我收到以下错误消息:
OnTesterInit 工作时间过长...
此错误发生 5 次,然后遵循以下内容:
OnTesterInit 工作时间过长。无法初始化测试仪。
优化只有 9 个步骤,日期范围只有几天。此外,运行它的服务器功能强大,并且几乎不为该过程使用任何资源,那么什么工作时间过长?
提到此错误消息的唯一相关链接不提供解决方案。
任何帮助将不胜感激。
c++ - opencl 的嵌套内核函数
我有一个相当复杂的 mql5 for 循环代码集,需要通过 opencl 运行。这意味着我需要能够让一些内核函数调用其他函数。因此,我尝试了这个简单的代码,当我通过它调用另一个函数时,它无法创建程序(错误 5105)。为什么?
mql4 - 如何读取另一个货币对的实际价格,而不是直接在 [ 策略测试器 ] 中可用 - 对于多货币策略?
在互联网上,人们可以从很多方面读到,不可能MarketInfo()
使用Strategy Tester. 这是平台的限制。
我在网上没有找到任何解决方法。但是,由于需求是发明之母,而我的需求是USDJPY
使用 EA 做出取决于市场状况的市场决策,EURUSD
我找到了解决方法(这对我来说已经足够好了)。我用iMA()
一个周期和M1
分辨率。
iMA( "EURUSD", PERIOD_M1, 1, 0, MODE_SMA, PRICE_MEDIAN, i )
问题是:
既然MetaTrader能够计算另一种货币的移动平均线(这肯定是基于货币对的实际价格!),Q1:
为什么不能直接访问当前值?
还有一个后续问题:Q2:
对于这个限制,还有其他(更准确的)解决方法吗?
mql4 - Switch() 案例:使用已定义的常量
编译器一直抱怨 a 中的case
类型需要一个常量switch(){...}
。但我提供了一个可怕的常数。- 抱歉,/咆哮模式关闭
在我的课堂上,我已经定义了类型的type
加号TYPE_BULLISH
和TYPE_BEARISH
常量int
。然后我分配了值:
我为变量分配了type
一个值:
然后在构造函数中
输出错误:
Q1:
知道这里发生了什么吗?
我的意思是,
Q2:
我提供了一个常数,对吧?
mql4 - 为什么自定义类的动态数组会导致内存泄漏?
我正在创建一个识别烛台形状的指标。
为此,我创建了一个单独class Candlestick
的包含在指标文件中的文件。
问题是我遭受内存泄漏。
我是指针的新手,在阅读/观看了很多之后,我似乎仍然错过了一些东西。
这是指标类。课程的内容Candlestick
无关紧要,因此我将其省略。
当我这样做时,我得到内存泄漏错误。看来我需要删除指向该动态数组中蜡烛的指针。问题是,何时何地?因为我在for(){...}
循环的下一次迭代中需要它们。所以我不能在那里删除它。
当我在OnDeinit()
函数中删除它时,仍然有蜡烛,我仍然得到泄漏错误。
怎么来的?