错误、漏洞、问题 - 页 2332 1...232523262327232823292330233123322333233423352336233723382339...3184 新评论 A100 2018.11.27 20:06 #23311 Vladimir Pastushak:根据帮助,如果文件不存在,它应该返回false。 严格来说,从文件中并不能看出FileGetInteger(FileName,FILE_EXISTS)的结果一定是一个bool。 但无论如何,这个逻辑都是华丽的 https://www.mql5.com/ru/forum/1111/page1788#comment_4071879 Ошибки, баги, вопросы 2017.02.08www.mql5.com Общее обсуждение: Ошибки, баги, вопросы fxsaber 2018.11.28 07:20 #23312 关于交易、自动交易系统和测试交易策略的论坛 图书馆:PriceChannel fxsaber, 2018.11.28 08:19#define PRICEST_TICK_PRICE bid该网站引擎没有用红色突出显示宏。 Ilyas 2018.11.28 09:21 #23313 Vladimir Pastushak:bool file_exists=(bool)FileGetInteger(FileName,FILE_EXISTS)。 在任何情况下,如果有文件或没有文件,它将返回true,如果没有文件,则返回错误5019。根据帮助,如果没有文件,它应该返回false。bool file_exists=FileIsExist(FileName); 正确工作正确的方式应该是 bool file_exists=FileGetInteger(FileName,FILE_EXISTS)==1; Ilyas 2018.11.28 09:22 #23314 Vladimir Pastushak:在mt 5中得到了它 请通过PM提供代码进行研究 A100 2018.11.28 11:25 #23315 fxsaber:网站引擎并没有用红色突出显示该宏。只有在以前定义过宏的情况下,才应该用红色标出。 #define PRICEST_TICK_PRICE bid //... #define PRICEST_TICK_PRICE ask 否则你怎么知道一个宏以前没有被定义过呢!而且这不是一个意外的重写 有时甚至在MetaEditor中也能发挥作用。 fxsaber 2018.11.28 11:36 #23316 A100:只有在以前定义过宏的情况下,颜色才应该被强调。 否则我们怎么知道这个宏以前没有被定义过呢!而且这不是一个意外的覆盖。那么我们需要定义什么是高亮的宏,什么是不高亮的? 以为所有的宏都被突出显示了。显然,规则是不同的。 A100 2018.11.28 11:52 #23317 fxsaber:然后我们需要决定什么是高亮的宏,什么是不高亮的宏? 我以为所有的宏都是突出显示的。显然,规则是不同的。我认为我们需要决定高光的作用是什么,是仅仅为了美丽还是为了信息量大?目前还没有这样的规则。 一般来说,如果一个标识符已经被定义了,而且不是没有防御的,最好用颜色突出显示出来 fxsaber 2018.11.28 11:54 #23318 A100:我认为我们需要决定照明的目的是什么:是为了美还是为了信息?目前还没有这样的规则。对我来说,经验法则是:宏观总是红色的。 A100 2018.11.28 12:06 #23319 fxsaber:对我来说,这个规则是很方便的:宏总是 红色的。 这里的便利是什么?#define PRICEST_TICK_PRICE bid不方便之处显而易见:你无法判断PRICEST_TICK_PRICE 标识符以前是否被定义过 而为什么要在这里 (3) //Ln 240 #define PRICEST_TICK_PRICE ask //(1) #undef PRICEST_TICK_PRICE //(2) void OnStart() { int PRICEST_TICK_PRICE; //(3) }是红色?而如果这里不是红色的(3),为什么在(1)中应该是红色的? 方便的规则:一个标识符只有在以前(!)定义过并且没有撤销的情况下才是红色的。 fxsaber 2018.11.28 12:47 #23320 A100: А в чем здесь удобство? 我可以看到,这是一个宏观。在这种情况下,你不需要看到#define laterally。 其不便之处显而易见:无法了解PRICEST_TICK_PRICE 标识符是否以前定义过。 我从未试图通过颜色来确定它。此外,如果一切都在#ifdef中,MQL4和MQL5可能有不同的颜色。最简单的方法是在宏名称上做ALT+G,看看它是否存在。 方便的规则:只有在以前(!)定义过的标识符才是红色的。如果在#define、#ifdef、#undef等地方至少提到一次该宏,我会很舒服。即使它没有被定义。 1...232523262327232823292330233123322333233423352336233723382339...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
根据帮助,如果文件不存在,它应该返回false。
严格来说,从文件中并不能看出FileGetInteger(FileName,FILE_EXISTS)的结果一定是一个bool。
但无论如何,这个逻辑都是华丽的
https://www.mql5.com/ru/forum/1111/page1788#comment_4071879
关于交易、自动交易系统和测试交易策略的论坛
图书馆:PriceChannel
fxsaber, 2018.11.28 08:19
#define PRICEST_TICK_PRICE bid
该网站引擎没有用红色突出显示宏。
bool file_exists=(bool)FileGetInteger(FileName,FILE_EXISTS)。
在任何情况下,如果有文件或没有文件,它将返回true,如果没有文件,则返回错误5019。根据帮助,如果没有文件,它应该返回false。
正确的方式应该是
在mt 5中得到了它
请通过PM提供代码进行研究
网站引擎并没有用红色突出显示该宏。
只有在以前定义过宏的情况下,才应该用红色标出。
否则你怎么知道一个宏以前没有被定义过呢!而且这不是一个意外的重写
有时甚至在MetaEditor中也能发挥作用。
只有在以前定义过宏的情况下,颜色才应该被强调。
否则我们怎么知道这个宏以前没有被定义过呢!而且这不是一个意外的覆盖。
那么我们需要定义什么是高亮的宏,什么是不高亮的?
以为所有的宏都被突出显示了。显然,规则是不同的。
然后我们需要决定什么是高亮的宏,什么是不高亮的宏?
我以为所有的宏都是突出显示的。显然,规则是不同的。
我认为我们需要决定高光的作用是什么,是仅仅为了美丽还是为了信息量大?目前还没有这样的规则。
一般来说,如果一个标识符已经被定义了,而且不是没有防御的,最好用颜色突出显示出来
我认为我们需要决定照明的目的是什么:是为了美还是为了信息?目前还没有这样的规则。
对我来说,经验法则是:宏观总是红色的。
对我来说,这个规则是很方便的:宏总是 红色的。
不方便之处显而易见:你无法判断PRICEST_TICK_PRICE 标识符以前是否被定义过
而为什么要在这里 (3)
是红色?而如果这里不是红色的(3),为什么在(1)中应该是红色的?
方便的规则:一个标识符只有在以前(!)定义过并且没有撤销的情况下才是红色的。
A100:
А в чем здесь удобство?
我可以看到,这是一个宏观。在这种情况下,你不需要看到#define laterally。
其不便之处显而易见:无法了解PRICEST_TICK_PRICE 标识符是否以前定义过。
我从未试图通过颜色来确定它。此外,如果一切都在#ifdef中,MQL4和MQL5可能有不同的颜色。最简单的方法是在宏名称上做ALT+G,看看它是否存在。
方便的规则:只有在以前(!)定义过的标识符才是红色的。
如果在#define、#ifdef、#undef等地方至少提到一次该宏,我会很舒服。即使它没有被定义。