[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 306 1...299300301302303304305306307308309310311312313...652 新评论 [删除] 2011.10.31 04:59 #3051 drknn: 一个 "无限 "长度的数组可以在一个指标中声明。声明它,然后在循环中立即将找到的值写进数组。唯一的问题是如何将必要的选择转移到专家顾问/脚本?有一些工具,但我们需要评估其复杂性。也许做2次运行真的会更容易--在第一次运行中,我们计算过滤值的数量,然后改变数组的维度,在第二次运行中,我们把值输入数组? 谢谢,但与指标的变体不合适--在将获得的样本转移到专家顾问之前,将样本条件从专家顾问转移到指标上有问题。 Владимир Тезис 2011.10.31 05:06 #3052 PapaYozh: 声明一个大于最大要求尺寸的数组。 正是如此 :)如果我们把尺寸增加许多倍,它就能发挥作用。例如,我们事先知道,过滤的数值不能超过一千。让我们声明 有几千个单元的数组,我们就完成了 :) 但它会占用一些必要的内存。:( PapaYozh 2011.10.31 05:11 #3053 drknn: 正是如此 :)如果我们把尺寸增加许多倍,它就能发挥作用。例如,我们事先知道,过滤的数值不能超过一千。让我们声明有几千个单元的数组, 我们就完成了 :)但它会占用一些必要的内存。:( 如果"我们事先知道过滤后的数值不能超过一千",那么 声明 大小为1000的数组 就足够了。 Вячеслав 2011.10.31 05:20 #3054 splxgf: https://docs.mql4.com/ru/math/MathPow 不?或者说初级运算是问题的一个条件。那么选项http://bpascal.ru/download/desc/436.php,如果你用手做所有事情,那么用自己的函数实现指数和对数。 是的,完全按照条件。谢谢你的链接,这正是我所需要的。 Vadim Zhunko 2011.10.31 05:47 #3055 Elenn: 下午好,一些建议:循环搜索满足某些条件的值。找到的值被写入一个数组中。事先不知道会找到多少个值。 因此,要声明的数组的大小是未知的。从时间和资源的角度来看,我宁愿不进行两次运行(这样我就可以在第一次运行中计算找到的值的数量,在第二次运行中声明数组并将数据写入数组中)。有什么办法能在一次运行中获得所需的结果吗? 每找到一个值,你就可以增加一个单元格的大小,这就是数组。但这并不是非常快。你可以通过增加几个单元格的大小来进行优化,然后跳过几个迭代的大小调整。 Владимир Тезис 2011.10.31 06:49 #3056 PapaYozh: 如果你"事先知道过滤后的数值不能超过一千", 你可以直接声明一个大小为1000的数组。 但在发生不可抗力的情况下,应急计划又是什么呢?你会写代码通知错误并阻止专家顾问吗?好吧,一个人可能看不到--好吧,那一刻他只是在工作。 是的,的确,问题的解决方案不止一个。我认为最好的解决办法是Zhunko 建议的办法--在过滤循环中动态增加数组的维度。坦率地说,我对这个答案感到很高兴。我从来没有想过 :) [删除] 2011.10.31 07:32 #3057 drknn: 我认为最好的方法仍然是Zhunko 建议的方法--在过滤循环中动态增加数组的维度。说实话,我对这个答案感到很高兴。我从来没有想过 :) 这个办法真的很新颖,我应该试试。但是当重新宣告阵列时,由于重新初始化,数据不会丢失吗? Victor Nikolaev 2011.10.31 07:36 #3058 Elenn: 这个解决方案真的很有创意,我们应该试试。但是当你重新声明数组时,数据不会因为重新初始化而丢失吗? 我经常这样做。我创建了一些初始阵列。然后(如果有必要)我用某个值将其最大化(一个不行,执行数组操作需要太长的时间),在工作中只需检查实际填充的数组 的大小。到目前为止,还没有出现任何问题 [删除] 2011.10.31 07:47 #3059 Vinin: 阵列操作完成的时间过长 任何数组操作都是长的,还是只有某些操作是长的? Victor Nikolaev 2011.10.31 07:51 #3060 Elenn: 执行任何数组操作都需要很长时间,还是只需要某些操作? 特别是调整一个数组的大小。最好是尽可能少地做这些事情 1...299300301302303304305306307308309310311312313...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
一个 "无限 "长度的数组可以在一个指标中声明。声明它,然后在循环中立即将找到的值写进数组。唯一的问题是如何将必要的选择转移到专家顾问/脚本?有一些工具,但我们需要评估其复杂性。也许做2次运行真的会更容易--在第一次运行中,我们计算过滤值的数量,然后改变数组的维度,在第二次运行中,我们把值输入数组?
谢谢,但与指标的变体不合适--在将获得的样本转移到专家顾问之前,将样本条件从专家顾问转移到指标上有问题。
声明一个大于最大要求尺寸的数组。
正是如此 :)如果我们把尺寸增加许多倍,它就能发挥作用。例如,我们事先知道,过滤的数值不能超过一千。让我们声明 有几千个单元的数组,我们就完成了 :)
但它会占用一些必要的内存。:(
正是如此 :)如果我们把尺寸增加许多倍,它就能发挥作用。例如,我们事先知道,过滤的数值不能超过一千。让我们声明有几千个单元的数组, 我们就完成了 :)
但它会占用一些必要的内存。:(
如果"我们事先知道过滤后的数值不能超过一千",那么 声明 大小为1000的数组 就足够了。
https://docs.mql4.com/ru/math/MathPow 不?或者说初级运算是问题的一个条件。那么选项http://bpascal.ru/download/desc/436.php,如果你用手做所有事情,那么用自己的函数实现指数和对数。
下午好,一些建议:循环搜索满足某些条件的值。找到的值被写入一个数组中。事先不知道会找到多少个值。 因此,要声明的数组的大小是未知的。从时间和资源的角度来看,我宁愿不进行两次运行(这样我就可以在第一次运行中计算找到的值的数量,在第二次运行中声明数组并将数据写入数组中)。有什么办法能在一次运行中获得所需的结果吗?
如果你"事先知道过滤后的数值不能超过一千", 你可以直接声明一个大小为1000的数组。
但在发生不可抗力的情况下,应急计划又是什么呢?你会写代码通知错误并阻止专家顾问吗?好吧,一个人可能看不到--好吧,那一刻他只是在工作。
是的,的确,问题的解决方案不止一个。我认为最好的解决办法是Zhunko 建议的办法--在过滤循环中动态增加数组的维度。坦率地说,我对这个答案感到很高兴。我从来没有想过 :)
我认为最好的方法仍然是Zhunko 建议的方法--在过滤循环中动态增加数组的维度。说实话,我对这个答案感到很高兴。我从来没有想过 :)
这个解决方案真的很有创意,我们应该试试。但是当你重新声明数组时,数据不会因为重新初始化而丢失吗?
我经常这样做。我创建了一些初始阵列。然后(如果有必要)我用某个值将其最大化(一个不行,执行数组操作需要太长的时间),在工作中只需检查实际填充的数组 的大小。到目前为止,还没有出现任何问题
阵列操作完成的时间过长
执行任何数组操作都需要很长时间,还是只需要某些操作?
特别是调整一个数组的大小。最好是尽可能少地做这些事情