嘿,伙计们
我遇到了一些事情,这些事情将导致我和MT编程说再见。问题是在试图设置终端球状物时。我正在做的事情是这样的。
设置的时候一直给我一个4051的错误。第一个参数是一个字符串,第二个参数是一个双数,它们应该是这样的。为什么它一直声称参数类型无效,我不明白。两个参数的类型都是正确的。我不明白为什么在参数正确的情况下,它要炸掉一个保险丝。我的职业是定制软件开发者,打算在我的产品中增加MT应用。如果平台不可靠,我就不会碰它。诡异的东西只会让我看起来很糟糕,破坏我的业务。如果有人有真知灼见,我将不胜感激。
非常感谢。
教授
我没有得到这个代码的问题。
string BuyEntrySignalGiven = Symbol() + "BuyEntrySignalGiven"; GlobalVariableSet(BuyEntrySignalGiven, (double) 1.0);你使用的是哪种版本?如何重现你的问题?
原本是没有双投的。我加入这个是因为这个错误。第二个参数 应该是一个双数。我的背景是C++/C#,我以为只要把参数写成1.0就可以了。我之所以添加了铸模,是因为调用失败了,我不确定这是否是MQL4的一些特异功能。我已经看到,MQL4并不总是按照预期的规则行事。至于字符串的分配,我有另一个我写的指标,遵循同样的格式,而且工作得很好。我看不出那里有什么问题。Symbol()返回一个字符串,与一个字符串连接,这是完全可以接受的,而且表达式被分配的变量也是一个字符串。我所看到的唯一可能有问题的事情是将对符号与一个与GV名称相同的字符串连接起来。这应该不重要,因为 "完成 "的字符串与GV名称不一样。也许这就是问题所在。如果是这样,为什么不直接说出来?
总之,谢谢你的回答
教授
实际上MetaQuotes确实说过,你不能指望在MQL4/5的C++/C#编码风格和规则。
顺便说一下,你没有回答主持人的问题。
有趣的是,伙计们。我正在运行Build 646。我不认为这是问题所在。呃--我想我刚想明白了。是我太累太傻了。GV名称是在一个方法中设置的,我本想从OnStart()中调用,但没有这样做。咄咄怪事!给这个美国傻子一巴掌,让他去睡觉,在他试图编写更多的代码之前好好睡一觉。我已经睡了大约36个小时了。你们这些人绝对帮助了我,激励我退后一步,重新审视我正在做的事情。非常感谢,晚安,好日子--无论你在哪里,都是如此。)
教授
对MetaQuotes来说,他们所做的事情并不微不足道。我猜想,自学成才始终是一种常态。说实话,对于一个专业的开发者来说,这是很正常的。这也是一种境界。文档和与其他开发者的互动通常是你将得到的唯一 "教学"。这就是生活。:-)
我仍然在试图弄清楚如何让MQL4的新调试功能发挥作用。我按照我认为的文档所告诉我的去做。当我试图启动调试器时,它弹出了一个H1窗口和我试图调试的指标的属性对话框。当我确定退出对话框时,调试器关闭了,窗口消失了。哦,好吧。这是另一个话题,我想。
这是一个长期存在的错误,当你选择输入对话的其他窗格而不是输入条目时,这个错误就可以避免。然后下次运行就成功了。在646版本中,这个问题似乎已经解决了。不幸的是,这个网站上没有很多这样的信息。通常大多数问题都以"向服务台报告"而告终,没有任何额外的跟踪。
嘿,伙计们
我遇到了一些事情,这些事情将导致我和MT编程说再见。问题是在试图设置终端球状物时。我正在做的事情是这样的。
设置的时候一直给我一个4051的错误。第一个参数 是一个字符串,第二个参数是一个双数,它们应该是这样的。为什么它一直声称参数类型无效,我不明白。两个参数的类型都是正确的。我不明白为什么在参数正确的情况下,它要炸掉一个保险丝。我的职业是定制软件开发人员,打算在我的产品中增加MT应用。如果平台不可靠,我就不会碰它。诡异的东西只会让我看起来很糟糕,破坏我的业务。如果有人有真知灼见,我将不胜感激。
非常感谢。
教授