我的方法。核心是引擎。 - 页 99 1...9293949596979899100101102103104105106...184 新评论 Vasiliy Sokolov 2018.12.21 13:36 #981 Реter Konow: 简而言之,每当你改变一个用户参数值时,这个值应该被转换为联盟的一个变量值,并立即保存到一个共享字节数组中,然后你可以将其转换为uint并写入资源中。你必须在联合结构里面有一个用户参数。当你改变参数时,该结构将随着int数组的同时改变而改变。 union c { uint i[2]; long width; }cc; cс.width = 200; i[2]是一个用户资源,由另一个程序读取。 只要有一行cc.width = 200,你就会改变。 负责宽度的参数。包含该参数的结构。另一个程序正在读取的资源的数组。 而且这里没有转换和复制,只有映射。 Реter Konow 2018.12.21 13:38 #982 Vasiliy Sokolov: 我可以改变连接属性文件中的封装函数,并将每个可用的值转换为联盟中的相应变量,并在飞行中制作一个字节数组。但是,也需要传递的文本值,使用StringToChar() 转换为字节数组。 然而,这消除了使用联盟的意义。毕竟,如果我无论如何都 要使用StringToChar(),为什么不把所有东西组合成一个字符串,然后 用StringToChar()把整个字符串翻译成字节? Реter Konow 2018.12.21 13:41 #983 Vasiliy Sokolov:你必须在联合结构里面有一个用户参数。当你改变参数时,该结构将随着int数组的同时改变而改变。 i[2]是一个用户资源,由另一个程序读取。 只要有一行cc.width = 200,你就会改变。 负责宽度的参数。包含该参数的结构。由第三方程序读取的资源的数组。 而且这里没有转换或复制,只是映射。瓦西里,你忘了我们说的是双向交流。在我的引擎中,我可以把一切都与工会联系起来,但我不能对用户的代码负责。我只能想出包装器并把它们放在插件中。 哪里能保证用户也会使用工会?因此,当他调用我的包装函数时,我必须自己取他的值,并从他的插件文件中的我的联合体中转换为我的一个变量。 Vasiliy Sokolov 2018.12.21 13:41 #984 Реter Konow:我可以改变连接属性文件中的封装函数,并将每个可用的值转换为联盟中的相应变量,并在飞行中制作一个字节数组。然而,文本值也必须被传递,必须使用StringToChar() 转换为字节数组。 然而,这消除了使用联盟的意义。毕竟,如果我无论如何都 要使用StringToChar(),为什么不把所有东西组合成一个字符串,然后 用StringToChar()把整个字符串翻译成字节?因为你会有双重解析。你会把所有的东西都转换为字符串,这是很慢的。然后你把字符串解析成一个数组,这非常快。然后你把它组装成一个字符串--那是非常快的。然后你把字符串解析成正确的类型--这非常慢。 Vasiliy Sokolov 2018.12.21 13:42 #985 Реter Konow:好的,但是文本呢? 它们必须通过StringToChar() 转换为字节。你不能使用工会,对吗?是的,你必须翻译它们,但这很快速,不像解析那样。 Реter Konow 2018.12.21 13:50 #986 比如说。 这里是连接属性 插件文件中的封装函数。 string E_Last_10_bars_2_Close_price(string n = rare_value, int Property = -1){return(GET_N_SET(11,n,Property));} 这个函数是这样调用的。 E_Last_10_bars_2_Close_price(Close[2]); 也就是说,用户在一个表格单元 中设置了Close[2] 的值。 Close[2] - это значение дабл. 因此,在他的程序中的包装函数里面,我可以把值(Close[2])表示为一个char数组。 但是,在同一个单元格中,用户可以发送值 "Hello!:)",然后该怎么办? E_Last_10_bars_2_Close_price("Привет! :)"); Реter Konow 2018.12.21 13:55 #987 Vasiliy Sokolov 2018.12.21 13:58 #988 哦,彼得,你从错误的编程语言开始。你应该学到一些不严格打字的东西。 总的来说,我理解你,你在MQL的基础上发明了自己的非类型化语言。你通过使用字符串绕过了其严格的类型。这是个演习! Реter Konow 2018.12.21 13:59 #989 Vasiliy Sokolov:哦,彼得,你从错误的编程语言开始。你应该学到一些不严格打字的东西。 总的来说,我理解你,你在MQL的基础上发明了自己的非类型化语言。你通过使用字符串绕过了其严格的类型。这是个演习!是的,))。有马的举动! Vasiliy Sokolov 2018.12.21 14:00 #990 如果你使用一个表格,你必须决定你是否希望表格中的数据是严格的数字或文本。如果是文本,你就传入字符串。如果它是真实的,你的函数必须看起来像这样。 string E_Last_10_bars_2_Close_price(double n, int Property = -1){return(GET_N_SET(11,n,Property));} 1...9293949596979899100101102103104105106...184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
简而言之,每当你改变一个用户参数值时,这个值应该被转换为联盟的一个变量值,并立即保存到一个共享字节数组中,然后你可以将其转换为uint并写入资源中。
你必须在联合结构里面有一个用户参数。当你改变参数时,该结构将随着int数组的同时改变而改变。
union c { uint i[2]; long width; }cc; cс.width = 200;i[2]是一个用户资源,由另一个程序读取。
只要有一行cc.width = 200,你就会改变。
- 负责宽度的参数。
- 包含该参数的结构。
- 另一个程序正在读取的资源的数组。
而且这里没有转换和复制,只有映射。我可以改变连接属性文件中的封装函数,并将每个可用的值转换为联盟中的相应变量,并在飞行中制作一个字节数组。但是,也需要传递的文本值,使用StringToChar() 转换为字节数组。
然而,这消除了使用联盟的意义。毕竟,如果我无论如何都 要使用StringToChar(),为什么不把所有东西组合成一个字符串,然后 用StringToChar()把整个字符串翻译成字节?
你必须在联合结构里面有一个用户参数。当你改变参数时,该结构将随着int数组的同时改变而改变。
i[2]是一个用户资源,由另一个程序读取。
只要有一行cc.width = 200,你就会改变。
- 负责宽度的参数。
- 包含该参数的结构。
- 由第三方程序读取的资源的数组。
而且这里没有转换或复制,只是映射。瓦西里,你忘了我们说的是双向交流。在我的引擎中,我可以把一切都与工会联系起来,但我不能对用户的代码负责。我只能想出包装器并把它们放在插件中。
哪里能保证用户也会使用工会?因此,当他调用我的包装函数时,我必须自己取他的值,并从他的插件文件中的我的联合体中转换为我的一个变量。
我可以改变连接属性文件中的封装函数,并将每个可用的值转换为联盟中的相应变量,并在飞行中制作一个字节数组。然而,文本值也必须被传递,必须使用StringToChar() 转换为字节数组。
然而,这消除了使用联盟的意义。毕竟,如果我无论如何都 要使用StringToChar(),为什么不把所有东西组合成一个字符串,然后 用StringToChar()把整个字符串翻译成字节?
因为你会有双重解析。你会把所有的东西都转换为字符串,这是很慢的。然后你把字符串解析成一个数组,这非常快。然后你把它组装成一个字符串--那是非常快的。然后你把字符串解析成正确的类型--这非常慢。
好的,但是文本呢?
它们必须通过StringToChar() 转换为字节。你不能使用工会,对吗?
是的,你必须翻译它们,但这很快速,不像解析那样。
比如说。
这里是连接属性 插件文件中的封装函数。
这个函数是这样调用的。
也就是说,用户在一个表格单元 中设置了Close[2] 的值。
因此,在他的程序中的包装函数里面,我可以把值(Close[2])表示为一个char数组。
但是,在同一个单元格中,用户可以发送值 "Hello!:)",然后该怎么办?
E_Last_10_bars_2_Close_price("Привет! :)");哦,彼得,你从错误的编程语言开始。你应该学到一些不严格打字的东西。
总的来说,我理解你,你在MQL的基础上发明了自己的非类型化语言。你通过使用字符串绕过了其严格的类型。这是个演习!
哦,彼得,你从错误的编程语言开始。你应该学到一些不严格打字的东西。
总的来说,我理解你,你在MQL的基础上发明了自己的非类型化语言。你通过使用字符串绕过了其严格的类型。这是个演习!
是的,))。有马的举动!
如果你使用一个表格,你必须决定你是否希望表格中的数据是严格的数字或文本。如果是文本,你就传入字符串。如果它是真实的,你的函数必须看起来像这样。