错误、漏洞、问题 - 页 3126 1...311931203121312231233124312531263127312831293130313131323133...3184 新评论 Mihail Matkovskij 2021.12.25 11:02 #31251 Nikolai Semko #:你在EA或指标中形成一个数据结构或结构数组,并将其发送给一个资源。 Kanvas 本身是以图形资源(OBJ_BITMAP_LABEL/OBJ_BITMAP)工作的。因此,剩下的就是把资源的名称传达给另一个应用程序,它将很容易地访问像素。它还需要传递像素格式。而且你可以通过另一个CCanvas读取像素或改变它们。它有一个方法,CCanvas::Attach,可以把它附加到一个现有的资源上。 Andrey Khatimlianskii 2021.12.25 11:04 #31252 Nikolai Semko #:有什么问题吗,安德烈? 形成一个数据结构或结构阵列 一点问题都没有!这只是额外的工作,这就是我所说的。 任何缓冲的指标都可以被任何其他指标或专家顾问读取。 例如,我有一个EA,它得到一个运行指标的列表,然后在指定的工具/TF列表上创建它们,然后从它们那里收集信号(并将它们发送到telegram)。因此,任何缓冲指标可以简单地在图表上运行,它将被自动接收。但kanvas指标将不得不手动连接,然后其余的工作应该手动完成。 我们需要用kanvas指标来统一工作。我担心这种统一将导致......。缓冲区指标)) Andrei Trukhanovich 2021.12.25 11:25 #31253 Nikolai Semko #:有什么问题吗,安德烈? 我没有找到,甚至没有找过。 Nikolai Semko 2021.12.25 14:04 #31254 Andrey Khatimlianskii #:没有任何问题!这只是不必要的姿态,这就是我所谈论的。任何缓冲指标都可以被任何其他指标或EA读取,而kanvas需要一个kastum层。例如,我有一个EA,它得到一个运行指标的列表,然后在指定的工具/TF列表上创建它们,然后从它们那里收集信号(并将它们发送到telegram)。因此,任何缓冲指标可以简单地在图表上运行,它将被自动接收。但kanvas指标将不得不手动连接,然后其余的工作应该手动完成。我们需要用kanvas指标来统一工作。我担心这种统一将导致......。缓冲器指标))。 我说的是扩展可能性,包括在指标和专家顾问中使用相同的类进行可视化。当然,在指标中,总是有一个缓冲转移的方法,没有人禁止在纯画布的情况下使用它。顺便说一下,我已经实现了一种混合的传输方法,当一个结构数组通过一个联合体在一个缓冲区内传输时。虽然在接收端有一个额外的附加功能,但首先,它并不复杂,其次,由于是结构,而不是双数的数组,它使用户在处理另一个指标的数据时更容易、更方便。用户肯定会喜欢这个。 Nikolai Semko 2021.12.25 14:21 #31255 Mihail Matkovskij #:Kanvas 本身是以图形资源(OBJ_BITMAP_LABEL/OBJ_BITMAP)工作的。因此,它仍然是将资源的名称传达给另一个应用程序,它将很容易访问像素。它还需要传递像素格式。而且你可以通过另一个CCanvas读取像素或改变它们。它有一个叫做CCanvas::Attach的方法,可以把它附加到现有的资源上。 不太可能有转移图形的任务,因为它通常与其他窗口的条形和价格同步,并与事件模型集成。如果不存在或不活动,则不会形成指标窗口。如果指标窗口不存在,只有通过iCustom使用缓冲区或缓冲区的方式。但正如我之前所说,你可以把一个结构或一个结构阵列放入这些缓冲区。 Nikolai Semko 2021.12.25 14:25 #31256 Andrei Trukhanovich #:我找不到它,我甚至都没在找。 谢谢你的报告。现在我们知道你不 Mihail Matkovskij 2021.12.25 16:06 #31257 Nikolai Semko #:此外,我认为,如果指标窗口不存在或不活动,甚至不会生成图形资源。 我想知道在什么情况下,如果一个指标正在运行而其窗口不存在?而当窗口不活动时(用户已经切换到另一个图表或最小化它),什么资源会从内存中卸载,是简单地删除吗? Nikolai Semko#: 但是,正如我所说,你可以把一个结构或一个结构数组放入这些缓冲区。 我想我同意你的说法。我必须创造一个多任务的机器人。第一个应用实例创建任务,并为其创建图表,然后应用相同机器人的特殊模板。然后,第一个机器人创建任务,由自动机创建的机器人执行这些任务。数据传输是通过资源完成的。数字和结构的字符串被转移到那里。在网站上有一个通过http传输数据的例子(如果我没记错的话)。但是,关于结构的数据、它们的大小和类型先放在那里,然后是数据本身。我决定在我的Expert Advisor中通过一个字符串形式的ucar-types数组来传递字符串和数字,从而大大简化了读/写的过程,使其更加容易。但我从来没有将字节写入指示器缓冲区并从那里读取。但我已经看到这种方法的一个缺点--指标条中的字节数有限。虽然,阵列的每个单元有8个字节。也许这并不是一个很大的缺点。谁知道呢... Nikolai Semko 2021.12.25 17:49 #31258 Mihail Matkovskij #:我想知道在什么情况下,如果一个指标正在运行,但其窗口不存在? 我的意思是使用iCustom 而当窗口不活动时(用户已经切换到另一个图表或最小化它),资源从内存中卸载,是否只是简单地删除? 这只是我的假设,因为在窗口最小化时,没有形成图像的特殊意义。它在MT中是如何实现的--没有检查,但遇到了类似的东西。我已经忘记了所有的细微差别。 总之,资源被删除的可能性不大,但也没有随着时间而更新。也就是说,CCanvas::Update不起作用。 void CCanvas::Update(const bool redraw) { //--- check if(m_rcname==NULL) return; //--- update resource and redraw if(ResourceCreate(m_rcname,m_pixels,m_width,m_height,0,0,0,m_format) && redraw) ChartRedraw(this.m_chart_id); } Mihail Matkovskij 2021.12.25 19:49 #31259 Nikolai Semko #:我的意思是使用iCustom 事实证明,你可以通过资源和缓冲区传递数值,但不能通过Kanvas资源。这是 一个有趣的任务,使用iCustom 调用一个指标并将其输出到Kanvas。我还没有试过。在我看来,在这种情况下,可能存在错误。也许,通过iCustom加载的这样一个指标根本就不能工作? 在任何情况下,资源都不可能被删除,但它也不会随着时间而更新。也 就是说,CCanvas::Update不起作用。 我认为ResourceCreate是有效的,但使用ChartRedraw的结果并没有呈现出来。呼吁功能去,但系统明白,图表在不活动时不需要更新。但如果ResourceCreate 不起作用,试想一下,当图表处于非活动状态时,指标在随机的tick上有更新的数据,但Kanvas的资源却没有更新。然后用户决定激活这个不活动的图表,看 一下指标(Kanwa)。而事实证明,有一个勾,但Canva仍然和用户改变图表前一样。如果在不活动期间,有很多虱子怎么办?当然, 指示器会处理它们,但没有一个结果会显示在画布上。 Nikolai Semko 2021.12.25 20:05 #31260 Mihail Matkovskij #:我认为ResourceCreate起作用了,但用ChartRedraw却不能显示结果。 是的,你可能是对的。 而为了节省资源,监控窗口活动是正确的,如果窗口不活动就不生成位图。 值得检查,而不是做假设。 1...311931203121312231233124312531263127312831293130313131323133...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你在EA或指标中形成一个数据结构或结构数组,并将其发送给一个资源。
Kanvas 本身是以图形资源(OBJ_BITMAP_LABEL/OBJ_BITMAP)工作的。因此,剩下的就是把资源的名称传达给另一个应用程序,它将很容易地访问像素。它还需要传递像素格式。而且你可以通过另一个CCanvas读取像素或改变它们。它有一个方法,CCanvas::Attach,可以把它附加到一个现有的资源上。
有什么问题吗,安德烈?
形成一个数据结构或结构阵列
一点问题都没有!这只是额外的工作,这就是我所说的。
任何缓冲的指标都可以被任何其他指标或专家顾问读取。
例如,我有一个EA,它得到一个运行指标的列表,然后在指定的工具/TF列表上创建它们,然后从它们那里收集信号(并将它们发送到telegram)。因此,任何缓冲指标可以简单地在图表上运行,它将被自动接收。但kanvas指标将不得不手动连接,然后其余的工作应该手动完成。
我们需要用kanvas指标来统一工作。我担心这种统一将导致......。缓冲区指标))
有什么问题吗,安德烈?
我没有找到,甚至没有找过。
没有任何问题!这只是不必要的姿态,这就是我所谈论的。
任何缓冲指标都可以被任何其他指标或EA读取,而kanvas需要一个kastum层。
例如,我有一个EA,它得到一个运行指标的列表,然后在指定的工具/TF列表上创建它们,然后从它们那里收集信号(并将它们发送到telegram)。因此,任何缓冲指标可以简单地在图表上运行,它将被自动接收。但kanvas指标将不得不手动连接,然后其余的工作应该手动完成。
我们需要用kanvas指标来统一工作。我担心这种统一将导致......。缓冲器指标))。
Kanvas 本身是以图形资源(OBJ_BITMAP_LABEL/OBJ_BITMAP)工作的。因此,它仍然是将资源的名称传达给另一个应用程序,它将很容易访问像素。它还需要传递像素格式。而且你可以通过另一个CCanvas读取像素或改变它们。它有一个叫做CCanvas::Attach的方法,可以把它附加到现有的资源上。
我找不到它,我甚至都没在找。
我想知道在什么情况下,如果一个指标正在运行而其窗口不存在?而当窗口不活动时(用户已经切换到另一个图表或最小化它),什么资源会从内存中卸载,是简单地删除吗?
我想我同意你的说法。我必须创造一个多任务的机器人。第一个应用实例创建任务,并为其创建图表,然后应用相同机器人的特殊模板。然后,第一个机器人创建任务,由自动机创建的机器人执行这些任务。数据传输是通过资源完成的。数字和结构的字符串被转移到那里。在网站上有一个通过http传输数据的例子(如果我没记错的话)。但是,关于结构的数据、它们的大小和类型先放在那里,然后是数据本身。我决定在我的Expert Advisor中通过一个字符串形式的ucar-types数组来传递字符串和数字,从而大大简化了读/写的过程,使其更加容易。但我从来没有将字节写入指示器缓冲区并从那里读取。但我已经看到这种方法的一个缺点--指标条中的字节数有限。虽然,阵列的每个单元有8个字节。也许这并不是一个很大的缺点。谁知道呢...
我想知道在什么情况下,如果一个指标正在运行,但其窗口不存在?
我的意思是使用iCustom
而当窗口不活动时(用户已经切换到另一个图表或最小化它),资源从内存中卸载,是否只是简单地删除?
这只是我的假设,因为在窗口最小化时,没有形成图像的特殊意义。它在MT中是如何实现的--没有检查,但遇到了类似的东西。我已经忘记了所有的细微差别。
总之,资源被删除的可能性不大,但也没有随着时间而更新。也就是说,CCanvas::Update不起作用。
我的意思是使用iCustom
事实证明,你可以通过资源和缓冲区传递数值,但不能通过Kanvas资源。这是 一个有趣的任务,使用iCustom 调用一个指标并将其输出到Kanvas。我还没有试过。在我看来,在这种情况下,可能存在错误。也许,通过iCustom加载的这样一个指标根本就不能工作?
我认为ResourceCreate是有效的,但使用ChartRedraw的结果并没有呈现出来。呼吁功能去,但系统明白,图表在不活动时不需要更新。但如果ResourceCreate 不起作用,试想一下,当图表处于非活动状态时,指标在随机的tick上有更新的数据,但Kanvas的资源却没有更新。然后用户决定激活这个不活动的图表,看 一下指标(Kanwa)。而事实证明,有一个勾,但Canva仍然和用户改变图表前一样。如果在不活动期间,有很多虱子怎么办?当然, 指示器会处理它们,但没有一个结果会显示在画布上。
我认为ResourceCreate起作用了,但用ChartRedraw却不能显示结果。
是的,你可能是对的。
而为了节省资源,监控窗口活动是正确的,如果窗口不活动就不生成位图。
值得检查,而不是做假设。