错误、漏洞、问题 - 页 1177 1...117011711172117311741175117611771178117911801181118211831184...3184 新评论 Vladimir Karputov 2014.08.01 10:00 #11761 svds75:你好。你能告诉我为什么当我查询趋势线的 属性时,变量res总是为真,尽管我手动设置标志只显示W1,或只显示MN1?它只需要显示在其中一个半边上。...得到...- 是得到属性。而如果res=true,它只是表明成功地获取了财产。要设置属性,请使用...设置... Alexey Navoykov 2014.08.01 10:02 #11762 作为我上一篇文章的继续,我设法用科学的方法找到了导致该错误的问题区域。我们有这样一个库,有这样一个功能。//---- testbuglib.mq5 ------#property libraryclass A { }; class B { private: A* a; public: A* b; }; int Test() export { return 0; } 这里是主文件。 #include <Files\File.mqh> // тут можно указать любой файл mqh #import "testbuglib.ex5" int Test(); #import int OnInit() { Test(); return 0; }结果专家顾问不能工作,并在日志中显示:"EX5加载失败"。 附加的文件: TestBug.mq5 1 kb testbuglib.mq5 1 kb Sergey Efimenko 2014.08.01 10:08 #11763 svds75:你好。你能告诉我为什么在请求趋势线 属性时,变量res总是为真,尽管我手动设置标志只显示W1,或只显示MN1?我想让它只显示在其中一个半边。 参数的数量不正确,你是以1个选项来调用函数,应该以2个选项来调用,或者比较结果。 Stanislav Korotky 2014.08.01 10:10 #11764 TheLiteShadow: 这是真的,但这是否意味着每一个新的条形图都必须对定义的缓冲区的所有最后 "索引 "进行 "清理"?问题是为什么?在MT4中没有这种情况,我明白,在初始化过程中,我已经清理了它,但那时应该由MT自己来做,同样的道理,在初始化中应该由MT来做,而不是由程序员来做,指标缓冲区只是一个内存分配 的目的,我不太理解... 几年前我问这个问题时,有人告诉我,这样做是为了优化。你需要多少就初始化多少。而如果你马上填写一些计算数据,就根本不用预先写零了。MT5在许多方面与MT4不同。 Sergey Efimenko 2014.08.01 10:41 #11765 marketeer: 几年前,当我问这个问题时,有人告诉我,这是为了优化的目的。你需要多少就初始化多少。而如果你马上填写一些计算数据,根本不需要预先写零。MT5在许多方面与MT4不同。 MT4与MT5不同的事实大家都明白,但我不会同意优化,另外程序员有太多的东西需要掌握,不能与低级语言相比,但对我来说是没有必要的,总的来说,很清楚,谢谢... Evgeniy Ledovskih 2014.08.01 11:18 #11766 TheLiteShadow: 参数数量不正确,你是以1个选项来调用函数,你应该以2个选项来调用或比较结果。 也试过这种方式。虽然旗子真的起作用了(线只显示一次),而且专家顾问看到这两个旗子都启用了。long res; ObjectGetInteger(0,"line",OBJPROP_TIMEFRAMES,OBJ_PERIOD_W1|OBJ_PERIOD_MN1,res); if((bool)res) Alert("линия line показывается на OBJ_PERIOD_W1 и OBJ_PERIOD_MN1"); Stanislav Korotky 2014.08.01 11:29 #11767 svds75: 这样试过了。虽然,真正的旗帜工作(线只显示在一个时间框架上),但专家顾问看到两个旗帜都启用了。你实际上想要什么?你要求的是在每周 或每月的时间框架内的可见性。因此,如果其中至少有一个人处于开启状态,程序将返回真。分别在2个电话中要求。 Vladimir Karputov 2014.08.01 11:42 #11768 svds75: 也试过这种方式。虽然真正的旗帜起作用(线只显示在一半上),而且EA看到两个旗帜都是启用的。所以也许你需要直接设置可见性? ObjectSetInteger(0,"line",OBJPROP_TIMEFRAMES,OBJ_PERIOD_W1); Dmitry Fedoseev 2014.08.01 11:54 #11769 svds75:你好。你能告诉我为什么在请求趋势线 属性时,变量res总是为真,尽管我手动设置标志只显示W1,或只显示MN1?我想让它只显示在其中一个半边。 因为该行总是存在,所以它总是读到该值。无形的线并不意味着没有线。 Evgeniy Ledovskih 2014.08.01 11:55 #11770 barabashkakvn:所以也许你需要直接设置可见性? 不,我需要手动设置可见性并以编程方式检查。 1...117011711172117311741175117611771178117911801181118211831184...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好。你能告诉我为什么当我查询趋势线的 属性时,变量res总是为真,尽管我手动设置标志只显示W1,或只显示MN1?
它只需要显示在其中一个半边上。
...得到...- 是得到属性。而如果res=true,它只是表明成功地获取了财产。
要设置属性,请使用...设置...
作为我上一篇文章的继续,我设法用科学的方法找到了导致该错误的问题区域。
我们有这样一个库,有这样一个功能。
这里是主文件。
结果专家顾问不能工作,并在日志中显示:"EX5加载失败"。
你好。你能告诉我为什么在请求趋势线 属性时,变量res总是为真,尽管我手动设置标志只显示W1,或只显示MN1?
我想让它只显示在其中一个半边。
这是真的,但这是否意味着每一个新的条形图都必须对定义的缓冲区的所有最后 "索引 "进行 "清理"?问题是为什么?在MT4中没有这种情况,我明白,在初始化过程中,我已经清理了它,但那时应该由MT自己来做,同样的道理,在初始化中应该由MT来做,而不是由程序员来做,指标缓冲区只是一个内存分配 的目的,我不太理解...
几年前,当我问这个问题时,有人告诉我,这是为了优化的目的。你需要多少就初始化多少。而如果你马上填写一些计算数据,根本不需要预先写零。MT5在许多方面与MT4不同。
参数数量不正确,你是以1个选项来调用函数,你应该以2个选项来调用或比较结果。
这样试过了。虽然,真正的旗帜工作(线只显示在一个时间框架上),但专家顾问看到两个旗帜都启用了。
你实际上想要什么?你要求的是在每周 或每月的时间框架内的可见性。因此,如果其中至少有一个人处于开启状态,程序将返回真。
分别在2个电话中要求。
也试过这种方式。虽然真正的旗帜起作用(线只显示在一半上),而且EA看到两个旗帜都是启用的。
所以也许你需要直接设置可见性?
你好。你能告诉我为什么在请求趋势线 属性时,变量res总是为真,尽管我手动设置标志只显示W1,或只显示MN1?
我想让它只显示在其中一个半边。
所以也许你需要直接设置可见性?