mql5语言的特点、微妙之处以及技巧 - 页 182 1...175176177178179180181182183184185186187188189...247 新评论 Vladimir Simakov 2020.05.24 12:43 #1811 Konstantin Nikitin: 例如,我删除了我的VDS上的所有对象。我只是不想让图表过载。而且那里也不需要他们。我使用globals。所以这一切都取决于情况。 听着,我不喜欢他们是有原因的。 这是一个与它们进行原子性操作的问题。文档中没有提到这一点,尽管事实上它是一个对象,对它的操作不是原子性的,而且如果我没记错的话,在x86中读/写双倍本身是两条指令。 程序外的变量的可访问性。 如果说第1点更多的是对文件质量的抱怨,那么第2点就是认真的。 Konstantin Nikitin 2020.05.24 13:18 #1812 Vladimir Simakov: 听着,我不喜欢他们是有原因的。 与他们的操作的原子性问题。文档中没有提到这一点,尽管事实上,它是一个对象,而且对它们的操作不是原子的,如果我没记错的话,在x86中读/写双倍数本身就是两条指令。 程序外变量的可访问性。 如果说第1项更多的是对文件质量的抱怨,那么第2项就很严重了。。 好吧,没有必要去读它。你可以使用GlobalVariableCheck 来检查该变量是否存在。你可以对物体做同样的事情。 所以你只需要创建/检查/删除一个变量。 Igor Makanu 2020.05.24 13:22 #1813 Vladimir Simakov: 2.计划外的变量的可用性。 没问题,所有处理全局变量的函数都有一个返回值--操作的结果。 有一个同步工具https://www.mql5.com/ru/docs/globals/globalvariablesetoncondition, 它不多,但使用提供给你的东西。 但最大的不便是数据类型--只有双倍,我不喜欢双倍,即使只能用ulong,而且名字/值-->字符串/双倍的组织方式导致了交换的愿望--用字符串写数据,用双倍写钥匙--更多的是为了一个操作可以被写入/读取。 但在估计了所有这些 "东西 "之后你可以把它们写进二进制文件,也就是说,完全自由,没有不确定因素。 一个人可能需要知道如何与他们合作 @fxsaber 展示了与任何类型的工作的例子https://www.mql5.com/ru/forum/320395/page6#comment_12910394 Vladimir Simakov 2020.05.24 13:29 #1814 Konstantin Nikitin: 好吧,没有必要阅读。你可以简单地使用GlobalVariableCheck 来检查该变量是否存在。你对物体也是这样做的。 所以,你只需要创建/检查/删除一个变量。 是的,一个微不足道的命名冲突和其他机器人中的字符串 GlobalVariableDel(yourValueName); 将失去你的存款)))) 说名字将是唯一的,其他机器人将永远不会出现,孩子/妻子/朋友/酒鬼永远不会靠近战斗终端)))同意,但概率不是零,这意味着代码变得不可靠。 Maxim Kuznetsov 2020.05.24 13:56 #1815 Vladimir Simakov: 是的,这是一个微不足道的命名冲突,其他机器人的行 将耗尽你的存款))) 你会说,这个名字将是独一无二的,另一个机器人将永远不会出现,孩子/妻子/朋友/酒鬼本人将永远不会靠近战斗终端)))同意,但概率不是零,这意味着代码变得不可靠。 废话和幻想 赚钱的EA总是从一个单独的终端,在它自己的VDS(甚至是服务器)上运行,没有人去搞它。 Vladimir Simakov 2020.05.24 17:02 #1816 Maxim Kuznetsov: 废话和幻想 赚钱的EA总是从一个单独的终端,在它自己的VDS(甚至是服务器)上运行,没有人去搞它。 你说永远是什么意思?今天--总是这样,明天你可能会有不同的计算方法。而且似乎不是所有人都同意你的观点。 我指出了使用终端的全局变量 的真正危险。这既不是好事,也不是坏事--这是开发商给我们的,我们只是需要意识到这一点并将其考虑在内。 同样的字符串 GlobalVariablesDeleteAll(); ...在任何脚本中做出的,哎呀... fxsaber 2020.05.25 13:33 #1817 关于交易、自动交易系统和交易策略测试的论坛 mql5的特殊性,技巧和窍门 Vladimir Simakov, 2020.05.24 17:02 同样的字符串 GlobalVariablesDeleteAll(); ......在任何脚本中做出的,哎呀。 图形对象的情况也是如此。 ObjectsDeleteAll(... 只有EA资源不能被其他程序改变。 Denis Kirichenko 2020.05.25 18:31 #1818 同事们,如果可能的话,请帮助我做一个宏观。 我需要动态地声明一个二维数组。而第二个层面也必须改变。这是类似这样的循环。 for(int would_be_size2=0;would_be_size2<5;would_be_size2++) { double d_array[][would_be_size2]; int size2=ArrayRange(d_array,1); } 当然,编译器会对此表示反对。 '[' - invalid index value t7.mq5 20 22 我希望看到一个类似以下的宏。 #define CREATE_MARRAY(type,arr_name,size2) (type arr_name[][##size2]) 而不是一条线。 double d_array[][would_be_size2]; 谢谢你。 Maxim Kuznetsov 2020.05.25 18:37 #1819 Denis Kirichenko: 同事们,如果可能的话,请帮助我做一个宏观。 我需要动态地声明一个二维数组。而第二个层面也必须改变。这是类似这样的循环。 当然,编译器会对此表示反对。 我希望看到一个类似以下的宏。 而不是一条线。 谢谢你。 但在循环外创建一个足够大(最大)的数组却受到了政治的阻碍?:-) 上述方法(每次都在循环中重新创建数组)在速度和内存消耗方面没有任何优势。 fxsaber 2020.05.25 18:54 #1820 Denis Kirichenko: 我希望看到一个与此类似的宏。 这是不可能的。 1...175176177178179180181182183184185186187188189...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
例如,我删除了我的VDS上的所有对象。我只是不想让图表过载。而且那里也不需要他们。我使用globals。所以这一切都取决于情况。
听着,我不喜欢他们是有原因的。
听着,我不喜欢他们是有原因的。
。
好吧,没有必要去读它。你可以使用GlobalVariableCheck 来检查该变量是否存在。你可以对物体做同样的事情。
所以你只需要创建/检查/删除一个变量。
Vladimir Simakov:
2.计划外的变量的可用性。
没问题,所有处理全局变量的函数都有一个返回值--操作的结果。
有一个同步工具https://www.mql5.com/ru/docs/globals/globalvariablesetoncondition, 它不多,但使用提供给你的东西。
但最大的不便是数据类型--只有双倍,我不喜欢双倍,即使只能用ulong,而且名字/值-->字符串/双倍的组织方式导致了交换的愿望--用字符串写数据,用双倍写钥匙--更多的是为了一个操作可以被写入/读取。
但在估计了所有这些 "东西 "之后你可以把它们写进二进制文件,也就是说,完全自由,没有不确定因素。
一个人可能需要知道如何与他们合作
@fxsaber 展示了与任何类型的工作的例子https://www.mql5.com/ru/forum/320395/page6#comment_12910394
好吧,没有必要阅读。你可以简单地使用GlobalVariableCheck 来检查该变量是否存在。你对物体也是这样做的。
所以,你只需要创建/检查/删除一个变量。
是的,一个微不足道的命名冲突和其他机器人中的字符串
GlobalVariableDel(yourValueName);
将失去你的存款))))
说名字将是唯一的,其他机器人将永远不会出现,孩子/妻子/朋友/酒鬼永远不会靠近战斗终端)))同意,但概率不是零,这意味着代码变得不可靠。
是的,这是一个微不足道的命名冲突,其他机器人的行
将耗尽你的存款)))
你会说,这个名字将是独一无二的,另一个机器人将永远不会出现,孩子/妻子/朋友/酒鬼本人将永远不会靠近战斗终端)))同意,但概率不是零,这意味着代码变得不可靠。
废话和幻想
赚钱的EA总是从一个单独的终端,在它自己的VDS(甚至是服务器)上运行,没有人去搞它。
废话和幻想
赚钱的EA总是从一个单独的终端,在它自己的VDS(甚至是服务器)上运行,没有人去搞它。
你说永远是什么意思?今天--总是这样,明天你可能会有不同的计算方法。而且似乎不是所有人都同意你的观点。
我指出了使用终端的全局变量 的真正危险。这既不是好事,也不是坏事--这是开发商给我们的,我们只是需要意识到这一点并将其考虑在内。
同样的字符串
GlobalVariablesDeleteAll();
...在任何脚本中做出的,哎呀...
关于交易、自动交易系统和交易策略测试的论坛
mql5的特殊性,技巧和窍门
Vladimir Simakov, 2020.05.24 17:02
同样的字符串
GlobalVariablesDeleteAll();
......在任何脚本中做出的,哎呀。
图形对象的情况也是如此。
ObjectsDeleteAll(...
只有EA资源不能被其他程序改变。
同事们,如果可能的话,请帮助我做一个宏观。
我需要动态地声明一个二维数组。而第二个层面也必须改变。这是类似这样的循环。
当然,编译器会对此表示反对。
我希望看到一个类似以下的宏。
而不是一条线。
double d_array[][would_be_size2];
谢谢你。
同事们,如果可能的话,请帮助我做一个宏观。
我需要动态地声明一个二维数组。而第二个层面也必须改变。这是类似这样的循环。
当然,编译器会对此表示反对。
我希望看到一个类似以下的宏。
而不是一条线。
谢谢你。
但在循环外创建一个足够大(最大)的数组却受到了政治的阻碍?:-)
上述方法(每次都在循环中重新创建数组)在速度和内存消耗方面没有任何优势。
我希望看到一个与此类似的宏。
这是不可能的。