MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 37 1...303132333435363738394041424344...161 新评论 Igor Semyonov 2013.11.09 10:47 #361 Renat: 也就是说,你个人在软件操作性方面没有任何问题,而且你问的是一般性问题。 我看了你的问题好几遍,都不明白。我们在这里讨论的是具体细节。 编译方面没有任何问题。在可操作性方面存在问题,据我所知,这些问题与将MQL5逻辑与MQL4混合有关。然而,我们在这里讨论的问题并不足以应付所有的场合。所有这些都是一个特殊的情况。规则是必要的。如果你发表了一份初步指南,或者至少是将MQL5的功能和规则翻译成MQL4的预览,这不仅会帮助我们,也会帮助你了解出现的问题。试想一下,会有500页或更多。我怎样才能重新阅读它呢? Vladimir Gomonov 2013.11.09 10:55 #362 ForexMoneyMaker: 编译方面没有任何问题。在可操作性方面存在问题,据我所知,这些问题与将MQL5逻辑与MQL4混合有关。然而,我们在这里讨论的问题并不足以应付所有的场合。所有这些都是一个特殊的情况。规则是必要的。如 果你发表了一份初步指南,或者至少是将MQL5的功能和规则翻译成MQL4的预览,这不仅会帮助我们,也会帮助你了解出现的问题。试想一下,会有500页或更多。你如何能读懂这一切? 首先,其他东西可能会改变(包括影响兼容性的东西)。第二,现在所有的 "描述性资源 "都被用于准备帮助。为什么要给一个已经在全力工作的系统增加负担呢? 这样错误的数量就会增加? Igor Semyonov 2013.11.09 12:17 #363 MT4 build 536,ME build 872。 该指标使用独立窗口的输入参数:extern string Currency_Name = "EURUSD"。 如果在不改变输入参数的情况下启动指标,指标就会被画出来,并在没有错误的情况下工作。但只要我在第一次运行后改变符号,例如 "GBPUSD",指标就不接受新的符号名称。指标的short_Name保持不变,但指标根本没有被画出来(空栏)。如果你在第一次调用时改变了符号名称,那么指示器将按程序中写的初始名称绘制。 至于改变指标初始数据的数值,它们在所有情况下都被改变,而且指标的绘制没有错误。 Eugeni Neumoin 2013.11.09 16:42 #364 Renat:在一个程序中拥有数百个全局变量是不可取的。OOP和类通过隐藏作用域和提供对数据的保护性访问,完全地、大幅度地解决了这个问题。 也许这还不够好。但我在那里写了为什么是这样。在MT4中不可能以不同的方式实现原定的目标。在图形方面,没有任何其他的工作方式。只有通过外部变量,你才能设置图形元素的 样式。如果我们有很多不同的图形元素,我们将有很多外部变量。除了样式之外,还有大量的图形项目的属性,它们也只能通过外部变量来改变。图形在ensign中是很好的。但在MT4中,它是一个真正的混乱。这就是为什么有数以百计的外部变量。我们还不知道新版本的MT4会发生什么。我们将拭目以待。 Renat Fatkhullin 2013.11.09 20:09 #365 nen: 这可能还不够好。但我在那里写了为什么是这样。 在MT4中不可能以不同的方式实现原定的目标。在图形方面,没有任何其他的工作方式。 只有通过外部变量才能设置图形项目的样式。 如果有很多不同的图形项目,你也会有很多外部变量。 除了样式,还有很多图形项目的属性也只能在外部变量中改变。 ensign中的图形 很好。但在MT4中,它是一个真正的混乱。这就是为什么有数以百计的外部变量。 在新版本的MT4中会是怎样的情况还不知道。我们将拭目以待。因此,我们谈论的是变量,而不是图形。此外,MT5的图形很好--你可以做任何事情,直到电脑游戏。Mt4也即将步入正轨。 你怎么能在任何程序中传输一百个参数,而用户必须在任何时候自己改变?只能用一个输入参数表。这并不取决于项目的类型。 总之,数以百计的参数是程序员的不二法门。我们需要使用智能自动控制方法,将参数的数量减少十倍。只要你开始思考,解决方案就会立即出现。 Andrey Khatimlianskii 2013.11.09 20:32 #366 nen: 如果一个指标有几百个外部变量,在安装过程中需要改变几十个,那么... 在重新安装之前,你需要记住哪些变量需要从以前安装指标时改变的值中保存下来。 不谈摆脱100个参数的不可能性... 为了避免记住已经更改过的内容,有一个 "重置 "按钮。 而新的行为(重新编译后保存输入的变量值)使工作更加方便--如果你改变了指标中的某些内容,你不需要重新配置所有的副本。 Vladimir Gomonov 2013.11.10 01:28 #367 雷纳特,斯特林戈,Unicode会永远留在这里吗? Alexander Puzanov 2013.11.10 03:00 #368 input datetime Date_From = D'08.10.2013'; // Начало периода input datetime Date_To = D'08.11.2013'; // Окончание периода input bool Column_Headers = true; // Создавать заголовки колонок? 这是一个脚本,在启动时,Date_From字段总是当前的本地日期/时间,Date_To字段是好的。改变了设置的顺序--如果日期时间类型 的变量不是列表中的第一个,那么这个缺陷就不存在。 --- 在帮助中,PRICE_CLOSE有ENUM_APPLIED_PRICE类型,但编译器不知道--'ENUM_APPLIED_PRICE'--没有类型的声明。帮助或编译器能解决这个问题吗? --- 总的来说,对于这个编辑器/编译器来说--谢谢! Artyom Trishkin 2013.11.10 04:22 #369 我对已经编译好的指标进行修改,该指标在货币对图表上。我重新编译了它。为了使这些变化生效,有必要重新启动整个终端。将指标从图表中删除并重新启动并没有帮助,改变时间框架也没有帮助。只有重新启动终端本身才有助于看到所做的改变。 请修复它。 [删除] 2013.11.10 07:15 #370 ObjectSetInteger(0,"Name",OBJPROP_CORNER,CORNER_RIGHT_LOWER); ObjectSetInteger(0,"Name",OBJPROP_ANCHOR,ANCHOR_RIGHT_LOWER); 没有检测到CORNER_RIGHT_LOWER和ANCHOR_RIGHT_LOWER。 Mqh-file,日志中出现"未声明的标识符"错误 StringConcatenate 工作得很奇怪 它是这样工作的 StringConcatenate("Text 1 ","Text 2"); StringConcatenate("Text 1 ",10); StringConcatenate(10," Text 2"); StringConcatenate(10,11); StringConcatenate("Copyright ",CharToString(169)); 但它并不像这样工作(只显示"©")。 StringConcatenate(CharToString(169)," Copyright"); 1...303132333435363738394041424344...161 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
也就是说,你个人在软件操作性方面没有任何问题,而且你问的是一般性问题。
我看了你的问题好几遍,都不明白。我们在这里讨论的是具体细节。
编译方面没有任何问题。在可操作性方面存在问题,据我所知,这些问题与将MQL5逻辑与MQL4混合有关。然而,我们在这里讨论的问题并不足以应付所有的场合。所有这些都是一个特殊的情况。规则是必要的。如果你发表了一份初步指南,或者至少是将MQL5的功能和规则翻译成MQL4的预览,这不仅会帮助我们,也会帮助你了解出现的问题。试想一下,会有500页或更多。我怎样才能重新阅读它呢?
编译方面没有任何问题。在可操作性方面存在问题,据我所知,这些问题与将MQL5逻辑与MQL4混合有关。然而,我们在这里讨论的问题并不足以应付所有的场合。所有这些都是一个特殊的情况。规则是必要的。如 果你发表了一份初步指南,或者至少是将MQL5的功能和规则翻译成MQL4的预览,这不仅会帮助我们,也会帮助你了解出现的问题。试想一下,会有500页或更多。你如何能读懂这一切?
MT4 build 536,ME build 872。
该指标使用独立窗口的输入参数:extern string Currency_Name = "EURUSD"。
如果在不改变输入参数的情况下启动指标,指标就会被画出来,并在没有错误的情况下工作。但只要我在第一次运行后改变符号,例如 "GBPUSD",指标就不接受新的符号名称。指标的short_Name保持不变,但指标根本没有被画出来(空栏)。如果你在第一次调用时改变了符号名称,那么指示器将按程序中写的初始名称绘制。
至于改变指标初始数据的数值,它们在所有情况下都被改变,而且指标的绘制没有错误。
在一个程序中拥有数百个全局变量是不可取的。
OOP和类通过隐藏作用域和提供对数据的保护性访问,完全地、大幅度地解决了这个问题。
这可能还不够好。但我在那里写了为什么是这样。 在MT4中不可能以不同的方式实现原定的目标。在图形方面,没有任何其他的工作方式。 只有通过外部变量才能设置图形项目的样式。 如果有很多不同的图形项目,你也会有很多外部变量。 除了样式,还有很多图形项目的属性也只能在外部变量中改变。 ensign中的图形 很好。但在MT4中,它是一个真正的混乱。这就是为什么有数以百计的外部变量。 在新版本的MT4中会是怎样的情况还不知道。我们将拭目以待。
因此,我们谈论的是变量,而不是图形。此外,MT5的图形很好--你可以做任何事情,直到电脑游戏。Mt4也即将步入正轨。
你怎么能在任何程序中传输一百个参数,而用户必须在任何时候自己改变?只能用一个输入参数表。这并不取决于项目的类型。
总之,数以百计的参数是程序员的不二法门。我们需要使用智能自动控制方法,将参数的数量减少十倍。只要你开始思考,解决方案就会立即出现。
如果一个指标有几百个外部变量,在安装过程中需要改变几十个,那么...
在重新安装之前,你需要记住哪些变量需要从以前安装指标时改变的值中保存下来。
不谈摆脱100个参数的不可能性...
为了避免记住已经更改过的内容,有一个 "重置 "按钮。
而新的行为(重新编译后保存输入的变量值)使工作更加方便--如果你改变了指标中的某些内容,你不需要重新配置所有的副本。
雷纳特,斯特林戈,Unicode会永远留在这里吗?
这是一个脚本,在启动时,Date_From字段总是当前的本地日期/时间,Date_To字段是好的。改变了设置的顺序--如果日期时间类型 的变量不是列表中的第一个,那么这个缺陷就不存在。
---
在帮助中,PRICE_CLOSE有ENUM_APPLIED_PRICE类型,但编译器不知道--'ENUM_APPLIED_PRICE'--没有类型的声明。帮助或编译器能解决这个问题吗?
---
总的来说,对于这个编辑器/编译器来说--谢谢!
我对已经编译好的指标进行修改,该指标在货币对图表上。我重新编译了它。为了使这些变化生效,有必要重新启动整个终端。将指标从图表中删除并重新启动并没有帮助,改变时间框架也没有帮助。只有重新启动终端本身才有助于看到所做的改变。
请修复它。
没有检测到CORNER_RIGHT_LOWER和ANCHOR_RIGHT_LOWER。
Mqh-file,日志中出现"未声明的标识符"错误
StringConcatenate 工作得很奇怪
它是这样工作的
但它并不像这样工作(只显示"©")。