MQL中的异步和多线程编程 - 页 16 1...91011121314151617181920212223...40 新评论 Igor Makanu 2019.07.27 09:09 #151 Roman: 我已经给你写过信了,你正在试图建立一个NS,在这种情况下,你不需要异步吗? 但你是在简单的激活函数上构建NS,所以你并没有遇到缺乏并发性的问题。 但当你开始建立NS的全局模型时,你就会明白异步的魅力。 不好的例子 - 不需要! @Roffild 已经在主题中写道:"在当今世界,一个程序员必须知道几种语言,以便为某项任务选择合适的工具。" 这是真的! 在MQL中,没有选择MQL的包--只有AlgLib--我想考虑一个例子,在hubra上找到的,我把C#或Python连接到MQL--仅此而已,我做我想做的事,而不是把代码移植到MQL上 这些天来,编程语言的有趣之处不在于它们的功能,而在于现成的框架!- 如果在MQL中会有新的MQL包,那么就会有其他的任务和问题! ZS:我再一次用手指,你在坚持 "fx的理念",它是从跨平台语言Python和Java中发展起来的,为了语言的可移植性和灵活性所做的牺牲是性能的损失,现在这些语言已经用不同的方法来提高性能,但在类似C语言中,开发人员总是能实现最大的性能,而且没有必要(在大多数情况下)将任务分成独立的线程(客户-服务器任务不算,那里的问题是数据交换速度,这是另一个具体问题)。 Реter Konow 2019.07.27 09:32 #152 Igor Makanu: 不好的例子 - 不需要! @Roffild 已经在主题中写道:"在当今世界,一个程序员必须知道几种语言,以便为某项任务选择合适的工具。" 这是真的! 在MQL中,没有选择MQL的包--只有AlgLib--我想考虑一个例子,在Habra上发现的,我采取并将C#或Python连接到MQL--仅此而已,我做我想做的事,而不是将代码移植到MQL 上 这些天来,编程语言的有趣之处不在于它们的功能,而在于现成的框架!- 如果在MQL中会有新的MQL包,那么就会有其他的任务和问题! ZS:再一次在你的手指上,你坚持 "fx的想法",它是从跨平台语言Python和Java中发展起来的,为了语言的可移植性和灵活性所做的牺牲是性能的损失,现在这些语言已经被各种提高性能的方法所包围,但在类似C语言中,开发人员总是能实现最大的性能,而且没有必要(在大多数情况下)将任务分成独立的线程(客户-服务器任务不算,那里的问题是数据交换速度,这是另一个特殊性)。 你不断地忽略了以下事情。 1.使用外部连接的程序的分发不能通过市场完成。 2.使用外部连接的程序要求用户成为 "教授",以正确连接一切。使用这种程序的说明是一团糟。 3.使用外部连接的程序只适合于个人使用,这大大限制了其创作的意义。 4. 个人使用的程序比出售的程序质量要低, 因为你可以为自己做任何事情......而且你不可能同时成为几种语言的专家。有些语言你会从第五种到第十种语言都知道,这将影响产品的质量。 5.有许多任务需要异步和多线程。MQL-程序还没有达到这些任务,但这并不意味着他们不应该为之努力。 [删除] 2019.07.27 09:33 #153 Roman: ... 什么实现了单一流的异步性。 不,好吧,没有多线程的异步确实是某种胡闹,你至少需要一个额外的线程。我认为你的EventLoop可以通过可加载指标来完成。例如,专家指标之间通过套接字进行通信。一个任务被创建,指标被挂起,任务被发送,指标报告了执行情况,我们从专家顾问那里请求任务状态,删除指标。通过拐杖,但还是多线程。 Koldun Zloy 2019.07.27 09:34 #154 Roman: 是的,那篇文章非常好,对于一个单一的解决方案,要想一想,也许你可以从这个方法中挤出一些别的东西。 我已经决定了我问题的方向,感谢Andrey的提示。 你读过一篇文章是好事。 罗马 人。 不是线程,即通过colback函数的非阻塞调用,由EventLoop控制。 这在一个线程中实现了异步。 你是如何做到不在文件中找到它的? 你为什么不读呢? Igor Makanu 2019.07.27 09:56 #155 Реter Konow: 你不断地忽略了以下事情。 你和我的任务不同,你没有考虑到编写软件有2个大步骤:软件开发和实施本身。 软件开发需要现成的解决方案--它需要时间;如果在开发过程中发现软件不能按计划执行任务,它就会被扔进垃圾桶。而实施本身是一个特定平台能力的机械工作。 ReTeg Konow: 5.有许多任务需要异步和多线程。MQL项目还没有达到这些任务,但这并不意味着他们不应该为之努力。 好了,现在让我们和你一起去吧。 回答交易终端 为什么需要这个问题? Roman 2019.07.27 09:59 #156 Koldun Zloy: 你读过一篇文章是好事。 你是如何做到不在文件中找到它的? 你为什么不读呢? 想象一下,没有找到它。 搜索callback和eventloop,在文档中并没有发现类似的内容。 如果你不介意,请给我一个没有任何讽刺的链接。 Реter Konow 2019.07.27 10:23 #157 Igor Makanu: 1.你和我的任务不同;你没有考虑到编写软件有两个大的阶段:软件开发和实施。 软件开发需要现成的解决方案--这需要时间;如果在开发过程中发现软件不能按计划执行任务,就会造成浪费。而实施本身是一个特定平台能力的机械工作。 好了,现在我们和你一起去吧。 2.回答问题,为什么交易终端 需要它? 1.我所做的一切都是为了发展。几乎没有6年的持续发展,我不明白它是什么。))我认为,现成的外部解决方案,从其他程序的背景中撕裂出来,或者从其他一些程序中抽象出来,很差地融入高度专业化的代码结构中,会变得非常混乱。这种情况下的劳动投入比开发自己的解决方案要高,而且代码的最终质量也较低。更不用说发展潜力了。这些都是发展的现实。但是,这与我们的问题没有关系。事实上,这和它有什么关系呢? 2.你问的是错误的问题。主要问题是 "为什么最终用户需要它?"。因为用户总是对所提供的功能感到不足。因此,必须增加他们,使他们不至于失去兴趣。如果我们的可能性用完了,而且由于技术限制不能增加新的可能性,用户就会退出。需要有机会让用户留在终端上,为此,软件分发是必要的。 因此,不能分发的程序对社区来说是没有意义的,不管他们使用什么语言。 事实上,你只看自己的需求,而不考虑其他用户的需求。你没有也不想在这个社区做生意,你只在市场上广播赚钱的动机。而你根本不需要任何软件就可以在市场上赚钱。 Roman 2019.07.27 10:24 #158 Igor Makanu: 不好的例子 - 不需要! @Roffild 已经在主题中写道:"在当今世界,一个程序员必须知道几种语言,以便为特定任务选择合适的工具。" 这是真的! 在MQL中,没有选择MQL的包--只有AlgLib--我想考虑一个例子,在Habra上发现的,我采取并将C#或Python连接到MQL--仅此而已,我做我想做的事,而不是将代码移植到MQL上 这些天来,编程语言的有趣之处不在于它们的功能,而在于现成的框架!- 如果在MQL中会有新的MQL包,那么就会有其他的任务和问题! ZS:再一次在你的手指上,你在坚持从跨平台语言Python和Java中发展出来的 "修复理念",为语言的可移植性和灵活性所做的牺牲是性能的损失,现在这些语言已经被提高性能的不同方法所包围,但在类似C语言中,开发者总是能实现最大的性能,而且没有必要(在大多数情况下)将任务分成独立的线程(客户端-服务器任务不包括在内,那里的问题是数据交换速度,这是另一个特殊性)。 伊戈尔,你有时会自相矛盾。 上次你写道,mql的计算速度与C++的速度相当 好吧,这的确是事实,很多人都知道。 但是,你又举了一个连接第三方框架来移植计算的例子,正如你所说的,在落后的语言上。 而你倡导的是第三方包装连接。所以你为了一个现成的框架而牺牲了速度? 因此,正如Peter所写的,你完全失去了你的程序的可移植性。 不是一个好的解决方案。用于个人使用,是的,但不用于大众使用。 Koldun Zloy 2019.07.27 10:29 #159 Roman: 想象一下,没有找到它。 搜索callback和eventloop并没有在文档中找到类似的内容。 如果你不介意,请给我一个没有不必要的讽刺的链接。 你不需要做搜索,你必须阅读所有的东西。我相信里面有很多给你的惊喜。 不会有任何链接。 我在这里不止一次地帮助那些至少试图为自己做点什么的人。 你又做了什么? 你就坐在那里,在论坛上看着你的嘴? 好吧,我正在帮你解决这个问题。 Yuriy Asaulenko 2019.07.27 10:32 #160 只有市场供应商可能需要在MKL的流。对于其他所有人来说,已经有了流媒体。需要一些复杂的处理吗?- 将事件传递给一个DLL,创建和分离一个流并释放终端流,你就可以永远处理它们了)。不得不说,大多数人不会应付这些线程,而在所有ICL用户中,有一两百人需要它。MKL会为了一百个想在Market交易的程序员而费心吗? 1...91011121314151617181920212223...40 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我已经给你写过信了,你正在试图建立一个NS,在这种情况下,你不需要异步吗?
但你是在简单的激活函数上构建NS,所以你并没有遇到缺乏并发性的问题。
但当你开始建立NS的全局模型时,你就会明白异步的魅力。
不好的例子 - 不需要!
@Roffild 已经在主题中写道:"在当今世界,一个程序员必须知道几种语言,以便为某项任务选择合适的工具。"
这是真的!
在MQL中,没有选择MQL的包--只有AlgLib--我想考虑一个例子,在hubra上找到的,我把C#或Python连接到MQL--仅此而已,我做我想做的事,而不是把代码移植到MQL上
这些天来,编程语言的有趣之处不在于它们的功能,而在于现成的框架!- 如果在MQL中会有新的MQL包,那么就会有其他的任务和问题!
ZS:我再一次用手指,你在坚持 "fx的理念",它是从跨平台语言Python和Java中发展起来的,为了语言的可移植性和灵活性所做的牺牲是性能的损失,现在这些语言已经用不同的方法来提高性能,但在类似C语言中,开发人员总是能实现最大的性能,而且没有必要(在大多数情况下)将任务分成独立的线程(客户-服务器任务不算,那里的问题是数据交换速度,这是另一个具体问题)。
不好的例子 - 不需要!
@Roffild 已经在主题中写道:"在当今世界,一个程序员必须知道几种语言,以便为某项任务选择合适的工具。"
这是真的!
在MQL中,没有选择MQL的包--只有AlgLib--我想考虑一个例子,在Habra上发现的,我采取并将C#或Python连接到MQL--仅此而已,我做我想做的事,而不是将代码移植到MQL 上
这些天来,编程语言的有趣之处不在于它们的功能,而在于现成的框架!- 如果在MQL中会有新的MQL包,那么就会有其他的任务和问题!
ZS:再一次在你的手指上,你坚持 "fx的想法",它是从跨平台语言Python和Java中发展起来的,为了语言的可移植性和灵活性所做的牺牲是性能的损失,现在这些语言已经被各种提高性能的方法所包围,但在类似C语言中,开发人员总是能实现最大的性能,而且没有必要(在大多数情况下)将任务分成独立的线程(客户-服务器任务不算,那里的问题是数据交换速度,这是另一个特殊性)。
你不断地忽略了以下事情。
1.使用外部连接的程序的分发不能通过市场完成。
2.使用外部连接的程序要求用户成为 "教授",以正确连接一切。使用这种程序的说明是一团糟。
3.使用外部连接的程序只适合于个人使用,这大大限制了其创作的意义。
4. 个人使用的程序比出售的程序质量要低, 因为你可以为自己做任何事情......而且你不可能同时成为几种语言的专家。有些语言你会从第五种到第十种语言都知道,这将影响产品的质量。
5.有许多任务需要异步和多线程。MQL-程序还没有达到这些任务,但这并不意味着他们不应该为之努力。
...
什么实现了单一流的异步性。
不,好吧,没有多线程的异步确实是某种胡闹,你至少需要一个额外的线程。我认为你的EventLoop可以通过可加载指标来完成。例如,专家指标之间通过套接字进行通信。一个任务被创建,指标被挂起,任务被发送,指标报告了执行情况,我们从专家顾问那里请求任务状态,删除指标。通过拐杖,但还是多线程。
是的,那篇文章非常好,对于一个单一的解决方案,要想一想,也许你可以从这个方法中挤出一些别的东西。
我已经决定了我问题的方向,感谢Andrey的提示。
你读过一篇文章是好事。
不是线程,即通过colback函数的非阻塞调用,由EventLoop控制。
这在一个线程中实现了异步。
你是如何做到不在文件中找到它的?
你为什么不读呢?
你不断地忽略了以下事情。
你和我的任务不同,你没有考虑到编写软件有2个大步骤:软件开发和实施本身。
软件开发需要现成的解决方案--它需要时间;如果在开发过程中发现软件不能按计划执行任务,它就会被扔进垃圾桶。而实施本身是一个特定平台能力的机械工作。
5.有许多任务需要异步和多线程。MQL项目还没有达到这些任务,但这并不意味着他们不应该为之努力。
好了,现在让我们和你一起去吧。
回答交易终端 为什么需要这个问题?
你读过一篇文章是好事。
你是如何做到不在文件中找到它的?
你为什么不读呢?
想象一下,没有找到它。
搜索callback和eventloop,在文档中并没有发现类似的内容。
如果你不介意,请给我一个没有任何讽刺的链接。
1.你和我的任务不同;你没有考虑到编写软件有两个大的阶段:软件开发和实施。
软件开发需要现成的解决方案--这需要时间;如果在开发过程中发现软件不能按计划执行任务,就会造成浪费。而实施本身是一个特定平台能力的机械工作。
好了,现在我们和你一起去吧。
2.回答问题,为什么交易终端 需要它?
1.我所做的一切都是为了发展。几乎没有6年的持续发展,我不明白它是什么。))我认为,现成的外部解决方案,从其他程序的背景中撕裂出来,或者从其他一些程序中抽象出来,很差地融入高度专业化的代码结构中,会变得非常混乱。这种情况下的劳动投入比开发自己的解决方案要高,而且代码的最终质量也较低。更不用说发展潜力了。这些都是发展的现实。但是,这与我们的问题没有关系。事实上,这和它有什么关系呢?
2.你问的是错误的问题。主要问题是 "为什么最终用户需要它?"。因为用户总是对所提供的功能感到不足。因此,必须增加他们,使他们不至于失去兴趣。如果我们的可能性用完了,而且由于技术限制不能增加新的可能性,用户就会退出。需要有机会让用户留在终端上,为此,软件分发是必要的。 因此,不能分发的程序对社区来说是没有意义的,不管他们使用什么语言。
事实上,你只看自己的需求,而不考虑其他用户的需求。你没有也不想在这个社区做生意,你只在市场上广播赚钱的动机。而你根本不需要任何软件就可以在市场上赚钱。
不好的例子 - 不需要!
@Roffild 已经在主题中写道:"在当今世界,一个程序员必须知道几种语言,以便为特定任务选择合适的工具。"
这是真的!
在MQL中,没有选择MQL的包--只有AlgLib--我想考虑一个例子,在Habra上发现的,我采取并将C#或Python连接到MQL--仅此而已,我做我想做的事,而不是将代码移植到MQL上
这些天来,编程语言的有趣之处不在于它们的功能,而在于现成的框架!- 如果在MQL中会有新的MQL包,那么就会有其他的任务和问题!
ZS:再一次在你的手指上,你在坚持从跨平台语言Python和Java中发展出来的 "修复理念",为语言的可移植性和灵活性所做的牺牲是性能的损失,现在这些语言已经被提高性能的不同方法所包围,但在类似C语言中,开发者总是能实现最大的性能,而且没有必要(在大多数情况下)将任务分成独立的线程(客户端-服务器任务不包括在内,那里的问题是数据交换速度,这是另一个特殊性)。
伊戈尔,你有时会自相矛盾。
上次你写道,mql的计算速度与C++的速度相当
好吧,这的确是事实,很多人都知道。
但是,你又举了一个连接第三方框架来移植计算的例子,正如你所说的,在落后的语言上。
而你倡导的是第三方包装连接。所以你为了一个现成的框架而牺牲了速度?
因此,正如Peter所写的,你完全失去了你的程序的可移植性。
不是一个好的解决方案。用于个人使用,是的,但不用于大众使用。
想象一下,没有找到它。
搜索callback和eventloop并没有在文档中找到类似的内容。
如果你不介意,请给我一个没有不必要的讽刺的链接。
你不需要做搜索,你必须阅读所有的东西。我相信里面有很多给你的惊喜。
不会有任何链接。
我在这里不止一次地帮助那些至少试图为自己做点什么的人。
你又做了什么?
你就坐在那里,在论坛上看着你的嘴?
好吧,我正在帮你解决这个问题。