初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1473 1...146614671468146914701471147214731474147514761477147814791480...1503 新评论 326338 2023.09.13 16:05 #14721 Alexander Sevastyanov #:我认为,在这种情况下,退还任何金额的可能性几乎为零。 这里的每个人都已经给出了非常正确的答案。但最好还是试一试。 亚历山大,感谢您的帮助。祝您在编程和交易中取得成功。一切顺利 326338 2023.09.13 16:18 #14722 Valeriy Yastremskiy #:在用钱做任何事情之前,至少要做最低限度的检查。同样。但愿不是信贷...一定要报警 谢谢大家的实用建议和帮助。版主请原谅我违反了论坛规则。我是新来的,不知道讨论经纪人是不允许的。我会仔细阅读论坛规则,并保证不再违反。 再次感谢所有响应我呼吁的人,祝你们好运。 Aleksandr Slavskii 2023.09.25 09:34 #14723 我试着做了一个类似的注释,但字母更大了。 总的来说,它成功了,字母现在可以读了。 但由于我对 OOP 一无所知,我的注释并没有很好地影响计算机的工作、 在几个图表上运行带有注释的智能交易系统一段时间后,发生了一些糟糕的事情,屏幕褪色,服务器重启)))))。 在终端日志中,有一堆这样的记录。 MQL5 VirtualAlloc failed in large allocator, size=101104 MemoryException 101142 bytes not available, 0 heapmin result 帮助那些知道如何做的人,以免内存泄漏。 插件注释文件如下所示: #include <Canvas\Canvas.mqh> void Comm(string txt, color clr = clrYellow, int FontSize = 20, string Font = "Consolas", int flag = FW_BOLD) { CCanvas canvas; int shift = 0; if(ChartGetInteger(0, CHART_SHOW_ONE_CLICK)) shift = 60; canvas.Erase(0x00FFFFFF); canvas.FontNameSet(Font); canvas.FontFlagsSet(flag); canvas.FontSizeSet(FontSize); int width = 0, height = 0; string result[]; int size = StringSplit(txt, StringGetCharacter("\n", 0), result); height = (int)(FontSize * 1.8 * size); for(int i = 0; i < size; i++) { int w = canvas.TextWidth(result[i]); if(width < w) width = w; } canvas.CreateBitmapLabel(0, 0, "Comment", 5, 20 + shift, width, height, COLOR_FORMAT_ARGB_NORMALIZE); for(int i = 0; i < size; i++) canvas.TextOut(0, (int)(FontSize * 0.8 * i), result[i], ColorToARGB(clr, 255)); canvas.Update(true); } 这样使用的例子: #include <Comm.mqh> //+------------------------------------------------------------------+ void OnTick() { MqlTick tick; SymbolInfoTick(_Symbol, tick); if(tick.ask != 0 && tick.bid != 0) Comm(StringFormat("ask = %.5f\nbid = %.5f\ntime = %s", tick.ask, tick.bid, TimeToString(tick.time, TIME_DATE | TIME_SECONDS))); } //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ObjectDelete(0, "Comment"); ChartRedraw(); } //+------------------------------------------------------------------+ 很明显,我在 CCanvas 类中做错了什么,但具体错在哪里,我并不清楚。 附加的文件: Comm.mq5 2 kb Comm.mqh 2 kb Alexey Viktorov 2023.09.25 10:29 #14724 Aleksandr Slavskii #:我试着做了一个类似的评论,但字母更大。现在字母可以阅读了。但由于我不懂 OOP,我的注释并不能很好地影响计算机的工作、在几个图表上运行带有注释的智能交易系统一段时间后,发生了一些糟糕的事情,屏幕褪色,服务器重启))))))。在终端日志中出现了一堆这样的记录。帮助那些知道如何做的人,使内存不泄漏。附件中的注释文件是这样的示例用法如下:很明显,我在使用 CCanvas 类时做错了什么,但具体错在哪里我并不清楚。 如果您对不使用CCanvas 库但使用OBJ_BITMAP_LABEL 对象 的代码感兴趣,请 查看我的代码 ... ClosingLots www.mql5.com Индикатор информер. Aleksandr Slavskii 2023.09.25 10:54 #14725 Alexey Viktorov #:如果您对不使用CCanvas 库但使用OBJ_BITMAP_LABEL 对象 的代码感兴趣, 请查看我的代码 ... 谢谢,不错的解决方案,我喜欢。 但是,"武士 没有 目标 ,只有 道路 ",对我来说,如何注释的解决方案不如找出 我 在使用该类时的 错误 更重要。 Artyom Trishkin 2023.09.25 13:36 #14726 Aleksandr Slavskii #: 谢谢,解决方案很好,我很喜欢。但是,"武士 没有 目标 ,只有 道路 ",我更关心的是如何发表评论,而不是找出 我 在使用该类时犯了 什么错误 。 创建了多少个 BitmapLabel?(Ctrl+B --> 全部)。 Aleksandr Slavskii 2023.09.25 14:25 #14727 Artyom Trishkin #:创建了多少个 BitmapLabel?(Ctrl+B --> 全部)。 一个图表,一个对象。 怎么会有多个呢?所有创建对象的名称都是一样的--"Comment"(注释)。 忘了写了。 在只有一个核心和 1GB 内存的超差服务器上,问题就出现了。而且不是立即出现,而是过了一段时间才出现。 但我认为,如果代码一切正常,就不会出现问题。有东西堵塞了内存,我不知道是什么。 为什么我 有必要知道? 你可以购买服务器容量,你可以购买内存,你可以无休止地升级,但这不会使我的代码正确。 Artyom Trishkin 2023.09.25 14:54 #14728 Aleksandr Slavskii #:一个图表,一个对象。怎么会有多个呢?所有创建对象的名称都是一样的--"注释"。我忘记写了。在一个只有一个核心和 1GB 内存的超差服务器上,问题就出现了。而且不是立即出现,而是过了一段时间才出现。但我认为,如果代码一切正常,就不会出现问题。有东西堵塞了内存,我不知道是什么。为什么我必须弄明白 呢?你可以购买更多的服务器容量,你可以购买更多的内存,你可以无休止地升级,但这不会使我的代码正确。 从图表中删除智能交易系统时,日志中有什么内容?通常它会告诉你哪些对象正在泄露,这就给了你一个搜索方向 Aleksandr Slavskii 2023.09.25 15:54 #14729 Artyom Trishkin #:当 EA 从图表中移除时,日志中会有什么内容?通常它会告诉您哪些对象正在泄漏,从而为您提供搜索方向 我删除了日志。不过没问题,再做一次也用不了多长时间。现在我会在服务器上启动智能交易系统,明天早上(也许更早)就会有日志。 但在我的记忆中,我无法在日志中找到内存泄漏的迹象。 而且 Expert Advisor 并没有从图表中删除,很可能只是重新启动了服务器,因为日志中没有终端关闭的记录。但这并不确定。 Artyom Trishkin 2023.09.25 16:31 #14730 Aleksandr Slavskii #:我删除了日志。不过没问题,再做一次也用不了多长时间。我现在就启动服务器上的智能交易系统,明天早上(也许更早)就能拿到日志。但在我的记忆中,我没有找到内存泄漏的迹象。而且 Expert Advisor 并没有从图表中移除,很可能只是重新启动了服务器,因为日志中没有终端关闭的记录。但这并不确定。 你没有理解我问题的意思。当服务器内存耗尽并发生爆炸时,你不需要等待服务器。 如果代码中存在对象泄漏,请在运行 Expert Advisor 时在本地计算机上重新编译 - 日志中应显示泄漏对象的数量和类型。或者在图表上运行并立即将其删除--当然,如果存在泄漏,也应显示泄漏信息。 1...146614671468146914701471147214731474147514761477147814791480...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我认为,在这种情况下,退还任何金额的可能性几乎为零。
这里的每个人都已经给出了非常正确的答案。
但最好还是试一试。
在用钱做任何事情之前,至少要做最低限度的检查。
同样。
但愿不是信贷...一定要报警
我试着做了一个类似的注释,但字母更大了。
总的来说,它成功了,字母现在可以读了。
但由于我对 OOP 一无所知,我的注释并没有很好地影响计算机的工作、
在几个图表上运行带有注释的智能交易系统一段时间后,发生了一些糟糕的事情,屏幕褪色,服务器重启)))))。
在终端日志中,有一堆这样的记录。
帮助那些知道如何做的人,以免内存泄漏。
插件注释文件如下所示:
这样使用的例子:
很明显,我在 CCanvas 类中做错了什么,但具体错在哪里,我并不清楚。
我试着做了一个类似的评论,但字母更大。
现在字母可以阅读了。
但由于我不懂 OOP,我的注释并不能很好地影响计算机的工作、
在几个图表上运行带有注释的智能交易系统一段时间后,发生了一些糟糕的事情,屏幕褪色,服务器重启))))))。
在终端日志中出现了一堆这样的记录。
帮助那些知道如何做的人,使内存不泄漏。
附件中的注释文件是这样的
示例用法如下:
很明显,我在使用 CCanvas 类时做错了什么,但具体错在哪里我并不清楚。
如果您对不使用CCanvas 库但使用OBJ_BITMAP_LABEL 对象 的代码感兴趣,请 查看我的代码 ...
如果您对不使用CCanvas 库但使用OBJ_BITMAP_LABEL 对象 的代码感兴趣, 请查看我的代码 ...
谢谢,不错的解决方案,我喜欢。
但是,"武士 没有 目标 ,只有 道路 ",对我来说,如何注释的解决方案不如找出 我 在使用该类时的 错误 更重要。
谢谢,解决方案很好,我很喜欢。
但是,"武士 没有 目标 ,只有 道路 ",我更关心的是如何发表评论,而不是找出 我 在使用该类时犯了 什么错误 。
创建了多少个 BitmapLabel?(Ctrl+B --> 全部)。
创建了多少个 BitmapLabel?(Ctrl+B --> 全部)。
一个图表,一个对象。
怎么会有多个呢?所有创建对象的名称都是一样的--"Comment"(注释)。
忘了写了。
在只有一个核心和 1GB 内存的超差服务器上,问题就出现了。而且不是立即出现,而是过了一段时间才出现。
但我认为,如果代码一切正常,就不会出现问题。有东西堵塞了内存,我不知道是什么。
为什么我 有必要知道?
你可以购买服务器容量,你可以购买内存,你可以无休止地升级,但这不会使我的代码正确。
一个图表,一个对象。
怎么会有多个呢?所有创建对象的名称都是一样的--"注释"。
我忘记写了。
在一个只有一个核心和 1GB 内存的超差服务器上,问题就出现了。而且不是立即出现,而是过了一段时间才出现。
但我认为,如果代码一切正常,就不会出现问题。有东西堵塞了内存,我不知道是什么。
为什么我必须弄明白 呢?
你可以购买更多的服务器容量,你可以购买更多的内存,你可以无休止地升级,但这不会使我的代码正确。
从图表中删除智能交易系统时,日志中有什么内容?通常它会告诉你哪些对象正在泄露,这就给了你一个搜索方向
当 EA 从图表中移除时,日志中会有什么内容?通常它会告诉您哪些对象正在泄漏,从而为您提供搜索方向
我删除了日志。不过没问题,再做一次也用不了多长时间。现在我会在服务器上启动智能交易系统,明天早上(也许更早)就会有日志。
但在我的记忆中,我无法在日志中找到内存泄漏的迹象。
而且 Expert Advisor 并没有从图表中删除,很可能只是重新启动了服务器,因为日志中没有终端关闭的记录。但这并不确定。
我删除了日志。不过没问题,再做一次也用不了多长时间。我现在就启动服务器上的智能交易系统,明天早上(也许更早)就能拿到日志。
但在我的记忆中,我没有找到内存泄漏的迹象。
而且 Expert Advisor 并没有从图表中移除,很可能只是重新启动了服务器,因为日志中没有终端关闭的记录。但这并不确定。
你没有理解我问题的意思。当服务器内存耗尽并发生爆炸时,你不需要等待服务器。
如果代码中存在对象泄漏,请在运行 Expert Advisor 时在本地计算机上重新编译 - 日志中应显示泄漏对象的数量和类型。或者在图表上运行并立即将其删除--当然,如果存在泄漏,也应显示泄漏信息。