错误、漏洞、问题 - 页 2796 1...278927902791279227932794279527962797279827992800280128022803...3184 新评论 Artyom Trishkin 2020.07.11 18:13 #27951 Mihail Matkovskij:你在这个论坛上就没有别的事情可做吗,阿列克谢,除了歪曲我的帖子,让它们看起来像是代表我向开发商提出的要求...?我想知道你如此奇怪的 "热情 "的原因是什么?你宁可在适当的主题中帮助新手解决问题,而不是在这里胡作非为......! 但是,你还是清楚地写了 "错误"。这表明平台上有一个报告的缺陷,而不是说你没有把文件读到逻辑上的结论。 Mihail Matkovskij 2020.07.11 18:33 #27952 Artyom Trishkin:但是,你还是清楚地写了 "错误"。这表明平台上有一个报告的缺陷,而不是说你没有把文件读到逻辑上的结论。 嗯,是的,我做到了。我读了ObjectDelete函数 描述中的说明,但不认为这是问题所在......谁不知道呢... 但这一切都在绕圈子。更确切地说,是在兜圈子,说我写错了,或者说是混在一起了......但由于某些原因,没有人说过如何解决这个错误......。当然,除了建议的ObjectsDeleteAll函数,我将不得不重做整个项目,这是我最不想看到的。 Artyom Trishkin 2020.07.11 18:34 #27953 Mihail Matkovskij:是的,我弄糊涂了。我读了ObjectDelete函数 描述中的说明,但我认为这不是问题所在......。谁不这样做呢? 它发生了... Artyom Trishkin 2020.07.11 18:48 #27954 Mihail Matkovskij: ...由于某些原因,没有人说过如何解决这个bug...当然,除了建议的ObjectsDeleteAll函数,我将不得不重做整个项目,这是我最不想看到的。 尽量在图形对象的名称中使用前缀--这是识别对象的正常做法。使用前缀来检查垃圾,并同时清除垃圾。 在对象名称中添加前缀需要重做整个项目? 你是以程序化的方式写作吗?好吧,在那里改变创建对象名称的功能也不是那么难。 Mihail Matkovskij 2020.07.11 19:04 #27955 Artyom Trishkin:尽量在图形对象的名称中使用前缀--这是识别对象的正常做法。使用前缀来检查垃圾,并同时清除垃圾。 为对象名称添加前缀需要重做整个项目?好吧,如果没有其他选择,我就试试。阿尔乔姆-特里什金。 你是以程序化的方式写作吗?改变创建对象名称的函数并不难。一个西西弗的任务?:) 感谢拉希德-乌马罗夫 帮助我找到指标错误的原因! Alexey Viktorov 2020.07.11 19:36 #27956 Mihail Matkovskij:你在这个论坛上就没有别的事情可做吗,阿列克谢,除了歪曲我的帖子,让它们看起来像是代表我向开发商提出的要求...?我想知道你如此奇怪的 "热情 "的原因是什么?你宁可在适当的主题中帮助新手解决他们的问题,而不是在这里胡作非为...! 这就是我试图帮助你的原因。我是想帮助你,解释你的错误。试试另一个删除图形对象 的选项,一切都会好起来。而你所说的所有虫子都会消失。你不必扭曲你的话,我会引用你的话。 Mihail Matkovskij 2020.07.11 19:50 #27957 Alexey Viktorov:这就是我试图帮助你的原因。我正在向你解释你的错误之处。尝试另一个选项,删除图形对象,一切都会好起来。而你所说的所有虫子都会消失。没有必要歪曲你的话,你说了,我引用了。 我想帮助你,同时无端指责,别忘了补充。我问是什么促使你有如此狂热的热情,但由于某些原因,你没有回答我!你为什么要回避答案呢,阿列克谢? Alexey Viktorov 2020.07.11 20:04 #27958 Mihail Matkovskij:我在努力帮助你的同时,也在毫不掩饰地指责你,别忘了补充。我问是什么原因导致了这种狂热的热情,但由于某些原因,你没有回答我!你为什么要逃避回答呢,阿列克谢?你早就应该闭嘴了,我也不会继续。 这里是我坦率的尝试,没有任何指责的暗示。 这是一个关于交易、自动交易系统和交易策略测试的论坛。 错误、虫子、问题 Alexey Viktorov, 2020.07.11 17:12 循环的持续时间怎么会超过执行OnDeinit所需的时间? 毕竟,你的例子中的所有对象都有 "趋势 "前缀,为什么不使用它而拒绝循环呢? int ObjectsDeleteAll( long chart_id, // идентификатор графика const string prefix, // префикс имени объекта int sub_window=-1, // индекс окна int object_type=-1 // тип объекта для удаления ); 答案是什么呢?阅读你的答案。 Mihail Matkovskij 2020.07.11 20:16 #27959 Alexey Viktorov:你早就该闭嘴了,我也不会继续。 А...这就是对我的指控的原因!我明白了...:) Alexey Viktorov: 你有什么反应?阅读你的答案。 一切都在那里。唯一的问题是,我最初拒绝使用这一功能。而且这一定让你很尴尬。好吧,我很抱歉,那么...:) Mihail Matkovskij 2020.07.11 21:39 #27960 在你的例子中首先替代了ObjectDeleteAll函数。 //+------------------------------------------------------------------+ //| DeleteChartObjects.mq5 | //| Copyright 2020, © Cyberdev. | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, © Cyberdev." #property version "1.00" #property indicator_chart_window #property indicator_plots 0 //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include <ChartObjects\ChartObjectsLines.mqh> #include <Arrays\ArrayObj.mqh> //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ //--- input parameters input int nBars = 100000; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int customN_Bars = 0; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CArrayObj listOfTrendLines; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping int totalBars = iBars(NULL, PERIOD_CURRENT); customN_Bars = (nBars < totalBars) ? nBars : totalBars; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[] ) { CChartObjectTrend * trend; int delta = rates_total - customN_Bars; int shift; int i; for(i = 0; i < customN_Bars; i++) { shift = delta + customN_Bars - i - 1; trend = new CChartObjectTrend(); if(trend.Create(0, "trend"+(string)i, 0, time[shift], low[shift], time[shift], high[shift])) listOfTrendLines.Add(trend); else delete trend; } return(rates_total); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ObjectsDeleteAll(0, "trend", 0, OBJ_TREND); CChartObjectTrend * trend; int i = listOfTrendLines.Total() - 1; for(; i >= 0; i--) { trend = dynamic_cast <CChartObjectTrend *> (listOfTrendLines.At(i)); if(CheckPointer(trend) == POINTER_INVALID) continue; delete trend; } } //+------------------------------------------------------------------+ 然后进入指标。 Artyom Trishkin:为对象名称添加前缀需要重做整个项目? 事实证明,在我的 项目中 使用ObjectDeleteAll 很容易。要删除所有的对象,我只需要改变3次前缀,并调用ObjectDeleteAll 3次。该图表因此而清晰。MQL5语言有很多微妙之处。但同时,它又是一种非常周密的语言。 感谢所有帮助我解决这个问题的人! 1...278927902791279227932794279527962797279827992800280128022803...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你在这个论坛上就没有别的事情可做吗,阿列克谢,除了歪曲我的帖子,让它们看起来像是代表我向开发商提出的要求...?我想知道你如此奇怪的 "热情 "的原因是什么?你宁可在适当的主题中帮助新手解决问题,而不是在这里胡作非为......!
但是,你还是清楚地写了 "错误"。这表明平台上有一个报告的缺陷,而不是说你没有把文件读到逻辑上的结论。
但是,你还是清楚地写了 "错误"。这表明平台上有一个报告的缺陷,而不是说你没有把文件读到逻辑上的结论。
嗯,是的,我做到了。我读了ObjectDelete函数 描述中的说明,但不认为这是问题所在......谁不知道呢...
但这一切都在绕圈子。更确切地说,是在兜圈子,说我写错了,或者说是混在一起了......但由于某些原因,没有人说过如何解决这个错误......。当然,除了建议的ObjectsDeleteAll函数,我将不得不重做整个项目,这是我最不想看到的。
是的,我弄糊涂了。我读了ObjectDelete函数 描述中的说明,但我认为这不是问题所在......。谁不这样做呢?
它发生了...
Mihail Matkovskij:
...由于某些原因,没有人说过如何解决这个bug...当然,除了建议的ObjectsDeleteAll函数,我将不得不重做整个项目,这是我最不想看到的。
尽量在图形对象的名称中使用前缀--这是识别对象的正常做法。使用前缀来检查垃圾,并同时清除垃圾。
在对象名称中添加前缀需要重做整个项目?
你是以程序化的方式写作吗?好吧,在那里改变创建对象名称的功能也不是那么难。
尽量在图形对象的名称中使用前缀--这是识别对象的正常做法。使用前缀来检查垃圾,并同时清除垃圾。
为对象名称添加前缀需要重做整个项目?
好吧,如果没有其他选择,我就试试。
你是以程序化的方式写作吗?改变创建对象名称的函数并不难。
一个西西弗的任务?:)
感谢拉希德-乌马罗夫 帮助我找到指标错误的原因!你在这个论坛上就没有别的事情可做吗,阿列克谢,除了歪曲我的帖子,让它们看起来像是代表我向开发商提出的要求...?我想知道你如此奇怪的 "热情 "的原因是什么?你宁可在适当的主题中帮助新手解决他们的问题,而不是在这里胡作非为...!
这就是我试图帮助你的原因。我是想帮助你,解释你的错误。试试另一个删除图形对象 的选项,一切都会好起来。而你所说的所有虫子都会消失。你不必扭曲你的话,我会引用你的话。
这就是我试图帮助你的原因。我正在向你解释你的错误之处。尝试另一个选项,删除图形对象,一切都会好起来。而你所说的所有虫子都会消失。没有必要歪曲你的话,你说了,我引用了。
我想帮助你,同时无端指责,别忘了补充。我问是什么促使你有如此狂热的热情,但由于某些原因,你没有回答我!你为什么要回避答案呢,阿列克谢?
我在努力帮助你的同时,也在毫不掩饰地指责你,别忘了补充。我问是什么原因导致了这种狂热的热情,但由于某些原因,你没有回答我!你为什么要逃避回答呢,阿列克谢?
你早就应该闭嘴了,我也不会继续。
这里是我坦率的尝试,没有任何指责的暗示。
这是一个关于交易、自动交易系统和交易策略测试的论坛。
错误、虫子、问题
Alexey Viktorov, 2020.07.11 17:12
循环的持续时间怎么会超过执行OnDeinit所需的时间?
毕竟,你的例子中的所有对象都有 "趋势 "前缀,为什么不使用它而拒绝循环呢?
你早就该闭嘴了,我也不会继续。
А...这就是对我的指控的原因!我明白了...:)
你有什么反应?阅读你的答案。
一切都在那里。唯一的问题是,我最初拒绝使用这一功能。而且这一定让你很尴尬。好吧,我很抱歉,那么...:)
在你的例子中首先替代了ObjectDeleteAll函数。
然后进入指标。
为对象名称添加前缀需要重做整个项目?
事实证明,在我的 项目中 使用ObjectDeleteAll 很容易。要删除所有的对象,我只需要改变3次前缀,并调用ObjectDeleteAll 3次。该图表因此而清晰。MQL5语言有很多微妙之处。但同时,它又是一种非常周密的语言。
感谢所有帮助我解决这个问题的人!