我的方法。核心是引擎。 - 页 146 1...139140141142143144145146147148149150151152153...184 新评论 Artyom Trishkin 2019.01.14 10:46 #1451 Реter Konow: ... 这并不是一个坏主意。 但是,它给了我们什么? 也许我们可以减少CPU负载,释放线程。如果我们有10个EA副本在10个对上运行,并且我们给每个引擎加载GUI,那么总的CPU负载可能太多。因为每个GUI都需要重新绘制元素,这对CPU来说是一个沉重的负担。但事实上,我们只能看到一个副本的具体图形用户界面。其他的都被隐藏起来了。 所以这可能是正确的方法。做一个共同的引擎。在MT5中,图表可以被分离。然后你必须重新想出这个概念。 Oleg Papkov 2019.01.14 12:06 #1452 Konow注册。每个EA都有自己的参数内核副本。它可以暂时与普通GUI断开连接,另一个EA可以连接到引擎。重要的是,它们是同一个EA的副本。 然而,有一些困难,我自己还没有完全理解。 从理论上讲,这个问题听起来像这样。 如果我们可以制作一个具有共同GUI的引擎,并将其连接到所有的EA副本,为什么我们需要为EA副本的每个图表添加一个具有GUI的引擎? 在实践中,我们会遇到一些技术困难。 专家顾问副本可以向其参数内核副本写入新值。如果其中一个副本没有连接到引擎,内核将只在副本的一侧改变。因此,当重新连接时,我们必须将整个内核传递给引擎,引擎将在需要的地方重新绘制所有窗口中的所有元素。这在原则上是可能的。 或者重新做参数内核本身,使其成为一种资源。在这种情况下,引擎将一次获得所有的变化,并只是重新绘制元素。这并不是一个坏主意。 但是,它给了我们什么? 也许我们可以减少CPU负载,释放线程。如果我们有10个EA副本在10个对上运行,并且我们给每个引擎加载GUI,那么总的CPU负载可能太多。因为每个GUI都需要重新绘制元素,这对CPU来说是一个沉重的负担。但事实上,我们只能看到一个副本的具体图形用户界面。其他的都被隐藏起来了。 所以这可能是正确的方法。做一个共同的引擎。让EA副本频繁地告诉引擎他们的地址。一个短字符串。引擎将对与其当前地址相同的副本作出反应并进行 "对话"。将进行标准交换。如果引擎中的地址发生变化,它就开始与设置匹配地址的副本进行 "交换"。对标准交换到'乙醚'添加顾问或指标,以暴露其短地址。几个字节。当用户在引擎GUI上按下 "重新配置 "按钮时,"监听引擎地址 "功能就会启动。也许是这样的。 Oleg Papkov 2019.01.14 12:09 #1453 Artyom Trishkin:在MT5中,你可以将图表分离出来。然后你必须重新想出这个概念。我只是没有意识到这一点。图表是纯粹的 "地域性 "分离,它变得脱离了主终端窗口的坐标?在交换流中,它是否仍然与终端完全连接? Реter Konow 2019.01.14 13:02 #1454 Oleg Papkov:我只是没有意识到这一点。图表是纯粹的 "地域性 "分离,它变得脱离了主终端窗口的坐标?而在与终端的交换流中,它仍然与终端完全连接?图表是分离的,但它并没有改变本质。(他们是在白白地制造混乱)。为EA的每个副本制作图形用户界面的副本是没有意义的。反正我看不出来。但如果能在副本的图表之间移动一个GUI,那就太好了。 如果有一个EA拷贝控制中心 图,上面有引擎 和主GUI 的位置,那就很方便了。 在制作EA的图形用户界面时,应考虑到该EA将有许多副本放在不同的工具上。 图表保持在同一窗口中,只有窗口本身可以被 "取出",从终端取出。 Реter Konow 2019.01.14 13:14 #1455 Oleg Papkov:让顾问的副本以频率告诉引擎他们的地址。一个短字符串。引擎将对与其当前地址相同的副本作出反应并进行 "对话"。将进行标准交换。如果引擎中的地址发生变化,它就开始与设置匹配地址的副本进行 "交换"。对标准交换到'乙醚'添加顾问或指标,以暴露其短地址。几个字节。当用户在引擎GUI上按下 "重新配置 "按钮时,"监听引擎地址 "功能就会启动。也许它是这样的。你正确地看到了本质。只是细节不准确。 切换 "通信 "本身并不是一个问题。但是,在切换时,你必须重新初始化整个GUI。毕竟,在窗口和元素的不同副本,不同的值。因此,有必要重新绘制几乎所有的东西。 每个副本的参数值都存储在参数内核中。这是一个数组。只要副本与引擎断开连接,数值的变化将只发生在专家顾问的参数内核副本中。一旦发动机被连接起来,所有的东西都必须从这个内核转移到它身上。同步引擎和连接的专家顾问中的参数内核的副本。因此,你需要转移大量的信息(参数核心),并重新绘制窗口。之后,就可以调整所连接的专家顾问,其他的将进入独立模式。然后与他们建立联系,同样的事情就会发生。 它将是这样的。然而,有很多技术上的细微差别。 Oleg Papkov 2019.01.14 13:50 #1456 彼得。在N毫秒的周期内,EA从引擎接收一些东西,之后将其准备好的东西传递给引擎。然后,顾问等待嘀嗒声的到来或新一批的重新询问-交换。对吗? Реter Konow 2019.01.14 14:08 #1457 Oleg Papkov: 彼得。在N毫秒的周期内,EA从引擎接收一些东西,之后将其准备好的东西传递给引擎。之后,EA等待嘀嗒声的到来或新一批的询问-交流声。对吗?几乎没错。交流和对抽搐或其他事件的预期是异步进行的。 Artyom Trishkin 2019.01.14 14:10 #1458 Реter Konow:时间表是脱离的,但这并不改变重点。这是 在浪费时间)。 ... 图表保持在同一窗口中,只有窗口本身可以 从终端"取出"。根据你的概念,每次只有一个当前的图表是可见的,而且只有它可以被更新,这将被打破--有多少图表可见,就有多少图表被分离。 当然不是恶梦,但也不是好事--只有一个可见的图表会 "活着",其余的呢? 你认为这正常吗?好吧,如果是这样的话,我再一次确信在解决bug方面缺乏严肃性--如果有的话,不是为了修复它,而是为了隐藏它。 Oleg Papkov 2019.01.14 15:09 #1459 Реter Konow:几乎没错。通信和等待勾选或其他事件是异步发生的。这样吧。顾问,每个都有频繁的一些(OnTimer),向引擎发送其代码字符串。所有的代码行都是不同的。该引擎在内部分析传入的字符串并 "识别 "出一个,例如来自3号专家顾问的字符串。作为对该EA的回应,它发出了一个 "信号",以启动主传输。该引擎与该专家顾问一起工作。 如果一个人按下开关按钮,引擎将分析允许的顾问,他们被索引,在数字下。告诉当前的EA切换到设置地址的状态,就像从工作流程中关闭它一样,它选择一个索引多1的代码串,并等待其他任何EA的相同代码串的到来。当地址匹配时,它向专家顾问发出信号,停止暴露地址并开始交换。唯一的专家顾问和复制系列,不在计费模式下,将收到交换。简而言之,就是类似的东西。 如果引擎收到一个地址,它会做一个超时处理,以禁止接收地址。这样,地址就不会重叠了。 Реter Konow 2019.01.14 15:35 #1460 Oleg Papkov:这样吧。专家顾问,每个都有某种频率(OnTimer),向引擎发送自己的代码字符串。所有的代码行都是不同的。该引擎在内部分析传入的字符串并 "识别 "出一个,例如来自3号专家顾问的字符串。作为对该EA的回应,它发出了一个 "信号",以启动主传输。该引擎与该专家顾问一起工作。 如果一个人按下开关按钮,引擎将分析允许的顾问,他们被索引,在数字下。告诉当前的EA切换到设置地址的状态,就像从工作流程中关闭它一样,它选择一个索引多1的代码串,并等待其他任何EA的相同代码串的到来。当地址匹配时,它向该专家顾问发出信号,停止暴露地址并开始交换。唯一的专家顾问和复制系列,不在计费模式中,将收到交换。简而言之,就是类似的东西。 如果引擎收到了一个地址,它将会超过地址抑制的时间。这样,地址就不会重叠了。这不是正确的做法。让我解释一下。 EA的每个副本都不会停止在自己的独立资源中向引擎写入其信息。同时,专家顾问的每个副本在 其 内核参数的副本中初始化自己的元素值。也就是说,即使与引擎断开连接,所有的EA副本都应该正常工作。 当引擎在EA的副本之间切换连接时,它必须将其内核参数与所连接的EA的内核同步。之后,重新绘制窗口中的元素,使其显示实际信息。 至于与所选专家顾问的沟通,一切都很简单。从引擎接收信息的资源(也是引擎的信息资源),每个EA都会有自己的。也就是说,引擎将简单地在其他资源中记录其信息,并从其他资源中读取信息。该资源属于相连的EA。 1...139140141142143144145146147148149150151152153...184 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Реter Konow:
...
这并不是一个坏主意。
但是,它给了我们什么?
也许我们可以减少CPU负载,释放线程。如果我们有10个EA副本在10个对上运行,并且我们给每个引擎加载GUI,那么总的CPU负载可能太多。因为每个GUI都需要重新绘制元素,这对CPU来说是一个沉重的负担。但事实上,我们只能看到一个副本的具体图形用户界面。其他的都被隐藏起来了。
所以这可能是正确的方法。做一个共同的引擎。
在MT5中,图表可以被分离。然后你必须重新想出这个概念。
每个EA都有自己的参数内核副本。它可以暂时与普通GUI断开连接,另一个EA可以连接到引擎。重要的是,它们是同一个EA的副本。
然而,有一些困难,我自己还没有完全理解。
从理论上讲,这个问题听起来像这样。
如果我们可以制作一个具有共同GUI的引擎,并将其连接到所有的EA副本,为什么我们需要为EA副本的每个图表添加一个具有GUI的引擎?
在实践中,我们会遇到一些技术困难。
专家顾问副本可以向其参数内核副本写入新值。如果其中一个副本没有连接到引擎,内核将只在副本的一侧改变。因此,当重新连接时,我们必须将整个内核传递给引擎,引擎将在需要的地方重新绘制所有窗口中的所有元素。这在原则上是可能的。
或者重新做参数内核本身,使其成为一种资源。在这种情况下,引擎将一次获得所有的变化,并只是重新绘制元素。这并不是一个坏主意。
但是,它给了我们什么?
也许我们可以减少CPU负载,释放线程。如果我们有10个EA副本在10个对上运行,并且我们给每个引擎加载GUI,那么总的CPU负载可能太多。因为每个GUI都需要重新绘制元素,这对CPU来说是一个沉重的负担。但事实上,我们只能看到一个副本的具体图形用户界面。其他的都被隐藏起来了。
所以这可能是正确的方法。做一个共同的引擎。
让EA副本频繁地告诉引擎他们的地址。一个短字符串。引擎将对与其当前地址相同的副本作出反应并进行 "对话"。将进行标准交换。如果引擎中的地址发生变化,它就开始与设置匹配地址的副本进行 "交换"。对标准交换到'乙醚'添加顾问或指标,以暴露其短地址。几个字节。当用户在引擎GUI上按下 "重新配置 "按钮时,"监听引擎地址 "功能就会启动。也许是这样的。
在MT5中,你可以将图表分离出来。然后你必须重新想出这个概念。
我只是没有意识到这一点。图表是纯粹的 "地域性 "分离,它变得脱离了主终端窗口的坐标?在交换流中,它是否仍然与终端完全连接?
我只是没有意识到这一点。图表是纯粹的 "地域性 "分离,它变得脱离了主终端窗口的坐标?而在与终端的交换流中,它仍然与终端完全连接?
图表是分离的,但它并没有改变本质。(他们是在白白地制造混乱)。为EA的每个副本制作图形用户界面的副本是没有意义的。反正我看不出来。但如果能在副本的图表之间移动一个GUI,那就太好了。
如果有一个EA拷贝控制中心 图,上面有引擎 和主GUI 的位置,那就很方便了。
在制作EA的图形用户界面时,应考虑到该EA将有许多副本放在不同的工具上。
图表保持在同一窗口中,只有窗口本身可以被 "取出",从终端取出。
让顾问的副本以频率告诉引擎他们的地址。一个短字符串。引擎将对与其当前地址相同的副本作出反应并进行 "对话"。将进行标准交换。如果引擎中的地址发生变化,它就开始与设置匹配地址的副本进行 "交换"。对标准交换到'乙醚'添加顾问或指标,以暴露其短地址。几个字节。当用户在引擎GUI上按下 "重新配置 "按钮时,"监听引擎地址 "功能就会启动。也许它是这样的。
你正确地看到了本质。只是细节不准确。
切换 "通信 "本身并不是一个问题。但是,在切换时,你必须重新初始化整个GUI。毕竟,在窗口和元素的不同副本,不同的值。因此,有必要重新绘制几乎所有的东西。
每个副本的参数值都存储在参数内核中。这是一个数组。只要副本与引擎断开连接,数值的变化将只发生在专家顾问的参数内核副本中。一旦发动机被连接起来,所有的东西都必须从这个内核转移到它身上。同步引擎和连接的专家顾问中的参数内核的副本。因此,你需要转移大量的信息(参数核心),并重新绘制窗口。之后,就可以调整所连接的专家顾问,其他的将进入独立模式。然后与他们建立联系,同样的事情就会发生。
它将是这样的。然而,有很多技术上的细微差别。
彼得。在N毫秒的周期内,EA从引擎接收一些东西,之后将其准备好的东西传递给引擎。之后,EA等待嘀嗒声的到来或新一批的询问-交流声。对吗?
几乎没错。交流和对抽搐或其他事件的预期是异步进行的。
时间表是脱离的,但这并不改变重点。这是 在浪费时间)。
...
图表保持在同一窗口中,只有窗口本身可以 从终端"取出"。
根据你的概念,每次只有一个当前的图表是可见的,而且只有它可以被更新,这将被打破--有多少图表可见,就有多少图表被分离。
当然不是恶梦,但也不是好事--只有一个可见的图表会 "活着",其余的呢?
你认为这正常吗?好吧,如果是这样的话,我再一次确信在解决bug方面缺乏严肃性--如果有的话,不是为了修复它,而是为了隐藏它。
几乎没错。通信和等待勾选或其他事件是异步发生的。
这样吧。顾问,每个都有频繁的一些(OnTimer),向引擎发送其代码字符串。所有的代码行都是不同的。该引擎在内部分析传入的字符串并 "识别 "出一个,例如来自3号专家顾问的字符串。作为对该EA的回应,它发出了一个 "信号",以启动主传输。该引擎与该专家顾问一起工作。
如果一个人按下开关按钮,引擎将分析允许的顾问,他们被索引,在数字下。告诉当前的EA切换到设置地址的状态,就像从工作流程中关闭它一样,它选择一个索引多1的代码串,并等待其他任何EA的相同代码串的到来。当地址匹配时,它向专家顾问发出信号,停止暴露地址并开始交换。唯一的专家顾问和复制系列,不在计费模式下,将收到交换。简而言之,就是类似的东西。
如果引擎收到一个地址,它会做一个超时处理,以禁止接收地址。这样,地址就不会重叠了。
这样吧。专家顾问,每个都有某种频率(OnTimer),向引擎发送自己的代码字符串。所有的代码行都是不同的。该引擎在内部分析传入的字符串并 "识别 "出一个,例如来自3号专家顾问的字符串。作为对该EA的回应,它发出了一个 "信号",以启动主传输。该引擎与该专家顾问一起工作。
如果一个人按下开关按钮,引擎将分析允许的顾问,他们被索引,在数字下。告诉当前的EA切换到设置地址的状态,就像从工作流程中关闭它一样,它选择一个索引多1的代码串,并等待其他任何EA的相同代码串的到来。当地址匹配时,它向该专家顾问发出信号,停止暴露地址并开始交换。唯一的专家顾问和复制系列,不在计费模式中,将收到交换。简而言之,就是类似的东西。
如果引擎收到了一个地址,它将会超过地址抑制的时间。这样,地址就不会重叠了。
这不是正确的做法。让我解释一下。
EA的每个副本都不会停止在自己的独立资源中向引擎写入其信息。同时,专家顾问的每个副本在 其 内核参数的副本中初始化自己的元素值。也就是说,即使与引擎断开连接,所有的EA副本都应该正常工作。
当引擎在EA的副本之间切换连接时,它必须将其内核参数与所连接的EA的内核同步。之后,重新绘制窗口中的元素,使其显示实际信息。
至于与所选专家顾问的沟通,一切都很简单。从引擎接收信息的资源(也是引擎的信息资源),每个EA都会有自己的。也就是说,引擎将简单地在其他资源中记录其信息,并从其他资源中读取信息。该资源属于相连的EA。