程序库: Easy Canvas - 页 16 1...910111213141516171819 新评论 Ihor Herasko 2023.02.22 21:21 #151 你好,尼古拉。 在使用该库 时,我遇到了一个问题:如果在一个终端中使用多个带有 iCanvas 的程序,那么在重新加载终端后,图像会开始自发地从一个变为另一个。起初我在代码中寻找原因,但一无所获。后来,我的一位客户无意中发现 iCanvas 对象名称在不同的图表上重合。 我查看了 iCanvas 对象名称的生成方式,发现如下: Name+=IntegerToString(GetTickCount()); 如果我们谈论的是智能交易系统,这种加载终端的方式会导致不同图表上的对象名称相同,因为加载时终端中的所有智能交易系统都会接收相同的 GetTickCount() 值。而指标则没有这个问题。 为了解决这个问题,我提出了生成唯一对象名称的方法: Name += IntegerToString(ChartID()) + IntegerToString(GetTickCount()); 这里的唯一性是由以下因素保证的: 即使所有指标都在同一图表上启动,它们也会获得不同的 GetTickCount() 值。因此,此方法适用于它们。 智能交易系统会获得相同的GetTickCount() 值,但由于智能交易系统只能在一个图表上运行,因此其对象会因图表标识符而获得唯一性。 Nikolai Semko 2023.02.23 01:00 #152 Ihor Herasko 使用该库 时,我遇到了一个问题:如果在一个终端中使用多个带有 iCanvas 的程序,那么在重新加载终端后,图像会开始自发地从一个变为另一个。起初我在代码中寻找原因,但一无所获。后来,我的一位客户偶然发现 iCanvas 对象的名称在不同的图表上是一致的。 我查看了 iCanvas 对象名称的生成方式,发现如下:如果我们谈论的是智能交易系统,那么这种加载终端的方式会导致不同图表上的对象名称相同,因为加载时终端中的所有智能交易系统都会接收相同的 GetTickCount() 值。指标则没有这个问题。为了解决这个问题,我建议使用这种生成唯一对象名称的方法:这里的唯一性是由以下因素保证的: 即使指标都在同一图表上运行,它们也会获得不同的 GetTickCount() 值。因此,此方法适用于它们。 智能交易系统会获得相同的GetTickCount() 值,但由于智能交易系统只能在一个图表上运行,因此其对象会因图表 ID 而获得唯一性。 我同意。 谢谢,伊戈尔! 上传了更正版本。 奇怪,我还以为名称就是这么来的。:)) Nikolai Semko 2023.03.06 23:32 #153 最新版本 1.49 附加的文件: iCanvas.mqh 58 kb Nikolai Semko 2023.03.06 23:34 #154 更新版本至 1.49 缩短了资源名称,因为它太长了。 Maksims Ignatovs 2023.03.22 12:54 #155 Nikolai Semko #: обновил версию до 1.49 укоротил имя ресурса, т.к. нарвался на слишком длинное имя 下午好! 在 iCanvas.mqh 文件中(MT5 版本链接上)有 "#属性版本 "1.09"... 在哪里可以下载最新的实际版本? 还有一个关于 MT4 版本的问题 - 在下载的存档中,版本 "#属性版本 "1.47"- 它是MT4 的最新版本吗?如果不是,在哪里可以下载最新的实际版本? 谢谢。 Nikolai Semko 2023.03.22 15:56 #156 Maksims Ignatovs #:下午好! 在 iCanvas.mqh 文件中(MT5 版本链接上)有 "#属性版本 "1.09"... 在哪里可以下载最新的实际版本? 还有一个关于 MT4 版本的问题 - 在下载的存档中,版本 "#属性版本 "1.47"- 它是MT4 的最新版本吗?如果不是,在哪里可以下载最新的实际版本? 谢谢。 您好! 您下载的一定是压缩文件。千万不要下载。这是 MQ 的一个错误。当我更新版本时,压缩文件不会被覆盖,而且我也无法访问它。 单击 iCanvas.mqh 文件本身或从查看器 中复制它。 Maksims Ignatovs 2023.03.24 14:41 #157 Nikolai Semko #:您好! 您下载的一定是压缩文件。千万不要下载。这是 MQ 的一个错误。当我更新版本时,压缩文件不会被覆盖,而且我也无法访问它。 单击 iCanvas.mqh 文件本身或从查看器 中复制它。 谢谢! Guilherme Mendonca 2023.06.02 15:03 #158 感谢您的分享。 我一直在考虑制作这样一个工具,现在我可以用你的代码作为基础了。 干得好 Nikolai Semko 2023.06.02 16:39 #159 Guilherme Mendonca #: 感谢您的分享。我一直在考虑制作这样一个工具,现在我可以用你的代码作为基础了。干得好 谢谢 Nikolai Semko 2023.10.09 07:04 #160 最新版本 1.53 附加的文件: iCanvas.mqh 71 kb 1...910111213141516171819 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好,尼古拉。
在使用该库 时,我遇到了一个问题:如果在一个终端中使用多个带有 iCanvas 的程序,那么在重新加载终端后,图像会开始自发地从一个变为另一个。起初我在代码中寻找原因,但一无所获。后来,我的一位客户无意中发现 iCanvas 对象名称在不同的图表上重合。
我查看了 iCanvas 对象名称的生成方式,发现如下:
如果我们谈论的是智能交易系统,这种加载终端的方式会导致不同图表上的对象名称相同,因为加载时终端中的所有智能交易系统都会接收相同的 GetTickCount() 值。而指标则没有这个问题。
为了解决这个问题,我提出了生成唯一对象名称的方法:
这里的唯一性是由以下因素保证的:
我查看了 iCanvas 对象名称的生成方式,发现如下:
如果我们谈论的是智能交易系统,那么这种加载终端的方式会导致不同图表上的对象名称相同,因为加载时终端中的所有智能交易系统都会接收相同的 GetTickCount() 值。指标则没有这个问题。
为了解决这个问题,我建议使用这种生成唯一对象名称的方法:
这里的唯一性是由以下因素保证的:
我同意。
谢谢,伊戈尔!
上传了更正版本。
奇怪,我还以为名称就是这么来的。:))
缩短了资源名称,因为它太长了。
Nikolai Semko #:
обновил версию до 1.49
укоротил имя ресурса, т.к. нарвался на слишком длинное имя
下午好!
在 iCanvas.mqh 文件中(MT5 版本链接上)有 "#属性版本 "1.09"...
在哪里可以下载最新的实际版本?
还有一个关于 MT4 版本的问题 - 在下载的存档中,版本 "#属性版本 "1.47"
- 它是MT4 的最新版本吗?如果不是,在哪里可以下载最新的实际版本?
谢谢。
下午好!
在 iCanvas.mqh 文件中(MT5 版本链接上)有 "#属性版本 "1.09"...
在哪里可以下载最新的实际版本?
还有一个关于 MT4 版本的问题 - 在下载的存档中,版本 "#属性版本 "1.47"
- 它是MT4 的最新版本吗?如果不是,在哪里可以下载最新的实际版本?
谢谢。
您好!
您下载的一定是压缩文件。千万不要下载。这是 MQ 的一个错误。当我更新版本时,压缩文件不会被覆盖,而且我也无法访问它。
单击 iCanvas.mqh 文件本身或从查看器 中复制它。
您好!
您下载的一定是压缩文件。千万不要下载。这是 MQ 的一个错误。当我更新版本时,压缩文件不会被覆盖,而且我也无法访问它。
单击 iCanvas.mqh 文件本身或从查看器 中复制它。
感谢您的分享。
我一直在考虑制作这样一个工具,现在我可以用你的代码作为基础了。
干得好
感谢您的分享。我一直在考虑制作这样一个工具,现在我可以用你的代码作为基础了。干得好