文章 "可视化!类似于 R 语言 "plot (绘图)" 的 MQL5 图形库" - 页 6 1234567 新评论 Anatoli Kazharski 2023.07.31 17:39 #51 Nikolai Semko #: 实际上,我使用多个画布(通常不超过 4 个)。 总有一个黄金分割点。一个极端是将所有静态和动态都画在一张画布上,另一个极端是将所有物体都画在不同的画布上。 重要的是不要忘记,如果有两个具有透明度的画布相互重叠,CPU(在 Win10-11 中可能是 GPU,但我认为仍然是 CPU)将会混合均匀(透明度不为零)背景的每个像素。 在此,我们可以借鉴 JS 的做法,缓存画布或画布的一部分,以提高性能。 至于反锯齿圆,我已经发布过这样一个圆的变体,它是半径小于 ~5 像素的圆的理想选择(就性能而言)。我想这个函数叫做 iDot(),就在 3DStars 代码中。它非常简单(约 10 行代码)。对于半径较大的圆,它的性能远非最佳。对于较大半径的圆,高性能函数已经超过 100 行代码。 是的,经过多年在画布上建立新的大脑神经连接,我现在可以在画布上制作任何级别的库。有时间就会有动力。 吴算法被认为已经过时。 搜索不到iDot() 或3DStars 以查看代码。 我的意思是要考虑到画布下的所有内容,包括图表本身(背景颜色)及其元素(条形图、买入/卖出线等)的颜色。 在移动带有透明背景和半透明元素的画布时,所有像素都应正确绘制。 现在的情况并非如此: Artyom Trishkin 2023.07.31 17:39 #52 Nikolai Semko #:Artem,这些任务确实不简单,需要新的神经连接。例如,在 SVG 中就有 viewBox 这样一个概念。我已经看了很多关于它如何工作的视频,读了很多文档,写了很多代码,但有时还是会一筹莫展。我仍然没有建立起必要的神经联系,尽管有好几次我似乎已经把一切都弄明白了。 好吧,我们仍然相信你;) Anatoli Kazharski 2023.07.31 18:00 #53 关于交易、自动交易系统和交易策略测试的论坛 讨论文章 "Visualise it!MQL5中的图形库作为R的模拟" Anatoli Kazharski, 2023.07.31 17:39 ... 我的意思是要考虑到画布下的所有内容,包括图表本身(背景颜色)及其元素(条形图、买入/卖出线等)的颜色。 在移动画布时,如果背景是透明的,上面绘制的元素是半透明的,那么所有像素都应正确绘制。 现在的情况并非如此: 下面是一个示例,其中一个画布(蓝色圆圈)位于另一个画布(蓝色矩形,带图片)的上方,这里也没有考虑到下面画布上绘制的内容: Nikolai Semko 2023.07.31 18:31 #54 Anatoli Kazharski #:无法搜索iDot() 或3DStars 以查看代码。我的意思是要考虑到画布下的所有内容,包括图表本身(背景颜色)及其元素(条形图、买入/卖出线等)的颜色。在移动带有透明背景的画布并在其上绘制半透明元素时,所有像素都应正确绘制。现在的情况并非如此:https://www.mql5.com/ru/forum/227736/page72#comment_25130501这里的颜色也与背景混合了https://www.mql5.com/ru/forum/451355/page5#comment_48450810 Anatoli Kazharski 2023.07.31 19:37 #55 Nikolai Semko #: https://www.mql5.com/ru/forum/227736/page72#comment_25130501 这里的色彩也与背景相融合 https://www.mql5.com/ru/forum/451355/page5#comment_48450810 谢谢您的帮助!这些例子非常棒!我错了。 我还没有详细查看代码,但是为什么在默认的 CCanvas 中透明度没有按照预期绘制? Nikolai Semko 2023.07.31 19:51 #56 Anatoli Kazharski #:谢谢!这些例子非常棒!所以我错了。我还没有详细查看代码,但为什么在默认的 CCanvas 中,透明度没有按照预期绘制? 这里面有很多问题。似乎他们没有完成它,因为负责这项工作的程序员被解雇了。可能是我错了。 Artyom Trishkin 2023.08.01 04:58 #57 Nikolai Semko #: 它有很多问题。 我的感觉是,他们没有完成它是因为负责的程序员被解雇了。可能是我错了 尼古拉,您能列出标准 CCanvas 中需要修改的内容和方式吗?在您看来。现在是这样,将来也应该是这样。为什么? Nikolai Semko 2023.08.01 05:54 #58 Artyom Trishkin #:尼古拉斯,您能列出标准 CCanvas 中需要更改的内容和方式吗?在您看来。现在是这样,将来也应该是这样。为什么? 我们需要一个新的类,它的功能要比 CCanvas 中的少。 但这是最理想的。 我也许可以自己写出这样的东西,但至少需要半年的全职时间 虽然我个人并不喜欢JS Canvas 中的所有内容,但为了实现标准化,实现这样的东西是正确的,只需稍作改动即可,无需进行字符串解析。 ZY 但为了正常工作,我需要重做 MT5 事件模型,因为它实在太糟糕了 MT5 中的画布工作速度应该是 JS 画布的两倍。但要做到这一点(实现无滞后界面),您需要更改 MT5 内部的很多东西,而 Renat 永远不会这么做。 HTML Canvas Reference www.w3schools.com W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more. Artyom Trishkin 2023.08.01 06:15 #59 Nikolai Semko #:我们需要一个功能少于 CCanvas 的新类。 但这是最理想的。 我自己或许也能写出类似的东西,但至少需要半年的全职时间 虽然我个人并不喜欢JS Canvas 中的所有功能,但为了实现标准化,实现类似的东西并做一些小的改动以实现无字符串解析是正确的。但对于正常工作,我们需要重做 MT5 事件模型,因为它实在太糟糕了。 很明显,一切都在 "刀下",但问题还是有点不同。在现有的类中,有哪些地方需要修改/改进? Nikolai Semko 2023.08.01 06:20 #60 Artyom Trishkin #:很明显,一切都在 "刀下",但问题仍然有些不同。在现有班级中,有哪些地方需要改变/改进? 平滑的方法,使其更加生动。现在我认为 CCanvas 中甚至有一些函数是没有文档的。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
实际上,我使用多个画布(通常不超过 4 个)。
搜索不到iDot() 或3DStars 以查看代码。
我的意思是要考虑到画布下的所有内容,包括图表本身(背景颜色)及其元素(条形图、买入/卖出线等)的颜色。
在移动带有透明背景和半透明元素的画布时,所有像素都应正确绘制。
现在的情况并非如此:
Artem,这些任务确实不简单,需要新的神经连接。例如,在 SVG 中就有 viewBox 这样一个概念。我已经看了很多关于它如何工作的视频,读了很多文档,写了很多代码,但有时还是会一筹莫展。我仍然没有建立起必要的神经联系,尽管有好几次我似乎已经把一切都弄明白了。
关于交易、自动交易系统和交易策略测试的论坛
讨论文章 "Visualise it!MQL5中的图形库作为R的模拟"
Anatoli Kazharski, 2023.07.31 17:39
...
我的意思是要考虑到画布下的所有内容,包括图表本身(背景颜色)及其元素(条形图、买入/卖出线等)的颜色。
在移动画布时,如果背景是透明的,上面绘制的元素是半透明的,那么所有像素都应正确绘制。
现在的情况并非如此:
下面是一个示例,其中一个画布(蓝色圆圈)位于另一个画布(蓝色矩形,带图片)的上方,这里也没有考虑到下面画布上绘制的内容:
无法搜索iDot() 或3DStars 以查看代码。
我的意思是要考虑到画布下的所有内容,包括图表本身(背景颜色)及其元素(条形图、买入/卖出线等)的颜色。
在移动带有透明背景的画布并在其上绘制半透明元素时,所有像素都应正确绘制。
现在的情况并非如此:
https://www.mql5.com/ru/forum/227736/page72#comment_25130501
谢谢您的帮助!这些例子非常棒!我错了。
我还没有详细查看代码,但是为什么在默认的 CCanvas 中透明度没有按照预期绘制?
谢谢!这些例子非常棒!所以我错了。
我还没有详细查看代码,但为什么在默认的 CCanvas 中,透明度没有按照预期绘制?
它有很多问题。
尼古拉,您能列出标准 CCanvas 中需要修改的内容和方式吗?在您看来。现在是这样,将来也应该是这样。为什么?
尼古拉斯,您能列出标准 CCanvas 中需要更改的内容和方式吗?在您看来。现在是这样,将来也应该是这样。为什么?
我们需要一个新的类,它的功能要比 CCanvas 中的少。
但这是最理想的。
我也许可以自己写出这样的东西,但至少需要半年的全职时间
虽然我个人并不喜欢JS Canvas 中的所有内容,但为了实现标准化,实现这样的东西是正确的,只需稍作改动即可,无需进行字符串解析。
ZY 但为了正常工作,我需要重做 MT5 事件模型,因为它实在太糟糕了
MT5 中的画布工作速度应该是 JS 画布的两倍。但要做到这一点(实现无滞后界面),您需要更改 MT5 内部的很多东西,而 Renat 永远不会这么做。
我们需要一个功能少于 CCanvas 的新类。
但这是最理想的。
我自己或许也能写出类似的东西,但至少需要半年的全职时间
虽然我个人并不喜欢JS Canvas 中的所有功能,但为了实现标准化,实现类似的东西并做一些小的改动以实现无字符串解析是正确的。
但对于正常工作,我们需要重做 MT5 事件模型,因为它实在太糟糕了。
很明显,一切都在 "刀下",但问题还是有点不同。在现有的类中,有哪些地方需要修改/改进?
很明显,一切都在 "刀下",但问题仍然有些不同。在现有班级中,有哪些地方需要改变/改进?
平滑的方法,使其更加生动。现在我认为 CCanvas 中甚至有一些函数是没有文档的。