MQL中的异步和多线程编程 - 页 6 12345678910111213...40 新评论 Roman 2019.07.25 12:47 #51 Andrey Pogoreltsev:MQL5有异步功能,例如OrderSendAsync。至于与网络或文件系统的交互--使用WinAPI,我写了上述解决方案。我认为一切都在那里,为的是这个。你可以在微软网站上阅读如何使用这些方法。还有什么尚待发现?) 是的,我知道OrderSendAsync,但它只用于发送请求。 我一直在寻找WinAPI这个方向,但不知道线程在mql中是不可用的,inluder中的原型是误导性的。 Igor Makanu 2019.07.25 12:54 #52 Andrey Pogoreltsev: MQL5有异步功能,例如OrderSendAsync。 MQL4/5一直有异步和多线程执行的MQL代码https://www.mql5.com/ru/docs/runtime/running。 也就是说,一切都 "开箱即用",唯一的问题是MQL程序之间的数据交换,开发人员没有现成的解决方案,或者说,只有终端的全局变量--所以他们设计了数据交换--非常不方便,效率很低,但在QB中有现成的数据交换解决方案。 你在上面提到了学习NS--它需要多线程,嗯,是的,但MT只带有Alglib,我用了很久,也没见过学习NS需要1-2秒以上的时间,也就是说,为什么会快?- 如果你将使用NS的第三方包--没有选择,你将不得不超越MT--使用dll,那么同样,数据交换和多线程有什么问题?- 都在一个dll中实现。 有人提到了蟒蛇...我不是在说那里的速度,那是一个非常特殊的NS开发环境,一切似乎都在那里,但就是无法使用它--等待,等待......最有趣的事情是在Python中使用NS工作))) SZZY:Python没有正常意义上的多线程,但我可能是错的。 我讨厌Python--有很多噪音和主流,一切都可以开箱即用,但.....。但在这样一个缓慢的系统中工作是不可能的,唯一的好处是有很多现成的Python代码和一个庞大的互联网社区。 [删除] 2019.07.25 13:28 #53 为什么裸露的指针如此不安全? 在我看来,开发商在撒谎,真正的原因是为了防止从dll中拉人。很可能也放了一些棘手的呼叫惯例。 Roman 2019.07.25 13:40 #54 Vict: 为什么裸露的指针如此不安全? 在我看来,开发商在撒谎,真正的原因是为了防止从dll中拉人。很可能也放了一些棘手的呼叫惯例。 正如主持人所写,出于安全原因,对物理内存地址的访问是被拒绝的。 通过它,熟练的、不择手段的编码员可以获得编译程序的任何元素。 [删除] 2019.07.25 13:52 #55 Roman: 正如主持人所写,出于安全原因,对物理内存地址的访问是被拒绝的。 通过它,熟练的、不择手段的编码员可以获得编译程序的任何元素。 我觉得这很难让人相信。我们只是不需要与成熟语言的竞争。而所有这些技巧,如重新编译时改变大小,都是为了同样的目的。 Roman 2019.07.25 14:03 #56 Vict: 我觉得这很难让人相信。它只是不需要来自成熟语言的竞争。而所有这些技巧,如重新编译时改变大小,都是为了同样的目的。 不,是这样的,记得mql4中的大规模反编译,累积的错误已经被考虑到了,并且已经实施了保护。 总的来说,这是一个有效的安全选择,不利于直接调用WinAPI,但由于dll是开放的,功能不会改变,交互方式会改变。 因此,你将不会遇到任何反编译或潜在的黑客攻击你的程序。而这是很好的,为开发者点赞。 Igor Makanu 2019.07.25 14:18 #57 Vict: 为什么裸露的指针如此不安全? 管理员Renat总是回答这样的问题,Metaquotes总是选择一个保证安全的解决方案,好吧,或者,你得到一个内存指针,可以注入一个病毒,可以将其代码添加到编译的ex4/ex5中。 罗马 人。 以直接调用WinAPI为代价 有什么坏处呢? 你有一个主程序在主进程中运行,没有主程序它就不会运行--这一点清楚吗? - 你可以使用WinAPI在一个单独的进程中运行Python中的函数体 吗? -..... 从Java使用WinAPI的函数体? -..... 使用WinAPI从WordBASIC的函数体? 作为一个选项,Metakvot在这里给出了一个明确的答案--不提供这个功能,再往下看实例:写给Python软件、Oracle、Microsoft--把他们的脑袋轰掉吧。 ))) [删除] 2019.07.25 14:25 #58 Roman: 不不,事情就是这样,记得mql4中广泛的反编译,这些bug被考虑到了,并且实施了保护。 总的来说,这是一个有效的安全选择,不利于直接调用WinAPI,但由于对dll的访问是开放的,功能没有改变,互动的方式却改变了。 因此,你将不会遇到任何反编译或潜在的黑客攻击你的程序。而这对开发者来说是好事,也是一种尊重。 考虑到这一点,市场上的播客开始编入原生系统。 雷纳特 从Build 500开始,它已经是弱反编译的了,因为安全系统已经完全改变。 在迁移到MQL5引擎和市场后,反编译器主题将完全死亡。谁不知道--来自Market的产品在购买时是以32/64 nativ(纯汇编,没有办法反编译)编译的,并针对买方的硬件进行了加密。 而从其他一些网站反编译甚至是有利可图的--通过可怕和邪恶的反编译把所有人都赶到自己身边。一般来说--没有私人恩怨,只是生意。 Georgiy Merts 2019.07.25 14:33 #59 fxsaber: 仅在MQL中,这两项任务都是通过自动运行EA计数工具来解决的。 正是如此,我就是这样做的。然而,我没有使用Web-Request,但自动优化--对我和TC联盟来说--是完全有效的。而选择是分几次进行的,首先优化一个 "干净的 "系统,并固定其参数,然后运行 盈亏平衡优化,并固定其参数,然后运行保护性SL的优化(如果需要)。而且到处都有与框架有关的工作,以及对其数据的处理。 所有必要的多线程都已经到位了。 [删除] 2019.07.25 14:35 #60 Igor Makanu: 管理员Renat总是回答这样的问题,Metaquotes总是选择一个保证安全的解决方案,好在另一种情况是,你得到一个内存指针,可以注入一个病毒,可以将其代码添加到编译的ex4/ex5中。 你真的认为我不能在调试器下用专家顾问运行终端,找到执行的相对地址吗?任何函数或变量的地址?另一件事是,这些地址可能会改变(因为应用了技巧),但在理论上,我可以找出正常指针会给我的一切。 另一件让他们害怕的事情是在运行时通过指针找出函数地址,并在dll中把它们拽出来。 12345678910111213...40 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
MQL5有异步功能,例如OrderSendAsync。
至于与网络或文件系统的交互--使用WinAPI,我写了上述解决方案。我认为一切都在那里,为的是这个。你可以在微软网站上阅读如何使用这些方法。还有什么尚待发现?)
是的,我知道OrderSendAsync,但它只用于发送请求。
我一直在寻找WinAPI这个方向,但不知道线程在mql中是不可用的,inluder中的原型是误导性的。
MQL5有异步功能,例如OrderSendAsync。
MQL4/5一直有异步和多线程执行的MQL代码https://www.mql5.com/ru/docs/runtime/running。
也就是说,一切都 "开箱即用",唯一的问题是MQL程序之间的数据交换,开发人员没有现成的解决方案,或者说,只有终端的全局变量--所以他们设计了数据交换--非常不方便,效率很低,但在QB中有现成的数据交换解决方案。
你在上面提到了学习NS--它需要多线程,嗯,是的,但MT只带有Alglib,我用了很久,也没见过学习NS需要1-2秒以上的时间,也就是说,为什么会快?- 如果你将使用NS的第三方包--没有选择,你将不得不超越MT--使用dll,那么同样,数据交换和多线程有什么问题?- 都在一个dll中实现。
有人提到了蟒蛇...我不是在说那里的速度,那是一个非常特殊的NS开发环境,一切似乎都在那里,但就是无法使用它--等待,等待......最有趣的事情是在Python中使用NS工作)))
SZZY:Python没有正常意义上的多线程,但我可能是错的。 我讨厌Python--有很多噪音和主流,一切都可以开箱即用,但.....。但在这样一个缓慢的系统中工作是不可能的,唯一的好处是有很多现成的Python代码和一个庞大的互联网社区。
为什么裸露的指针如此不安全?
在我看来,开发商在撒谎,真正的原因是为了防止从dll中拉人。很可能也放了一些棘手的呼叫惯例。
为什么裸露的指针如此不安全?
在我看来,开发商在撒谎,真正的原因是为了防止从dll中拉人。很可能也放了一些棘手的呼叫惯例。
正如主持人所写,出于安全原因,对物理内存地址的访问是被拒绝的。
通过它,熟练的、不择手段的编码员可以获得编译程序的任何元素。
正如主持人所写,出于安全原因,对物理内存地址的访问是被拒绝的。
通过它,熟练的、不择手段的编码员可以获得编译程序的任何元素。
我觉得这很难让人相信。我们只是不需要与成熟语言的竞争。而所有这些技巧,如重新编译时改变大小,都是为了同样的目的。
我觉得这很难让人相信。它只是不需要来自成熟语言的竞争。而所有这些技巧,如重新编译时改变大小,都是为了同样的目的。
不,是这样的,记得mql4中的大规模反编译,累积的错误已经被考虑到了,并且已经实施了保护。
总的来说,这是一个有效的安全选择,不利于直接调用WinAPI,但由于dll是开放的,功能不会改变,交互方式会改变。
因此,你将不会遇到任何反编译或潜在的黑客攻击你的程序。而这是很好的,为开发者点赞。
为什么裸露的指针如此不安全?
管理员Renat总是回答这样的问题,Metaquotes总是选择一个保证安全的解决方案,好吧,或者,你得到一个内存指针,可以注入一个病毒,可以将其代码添加到编译的ex4/ex5中。
以直接调用WinAPI为代价
有什么坏处呢? 你有一个主程序在主进程中运行,没有主程序它就不会运行--这一点清楚吗?
- 你可以使用WinAPI在一个单独的进程中运行Python中的函数体 吗?
-..... 从Java使用WinAPI的函数体?
-..... 使用WinAPI从WordBASIC的函数体?
作为一个选项,Metakvot在这里给出了一个明确的答案--不提供这个功能,再往下看实例:写给Python软件、Oracle、Microsoft--把他们的脑袋轰掉吧。
)))
不不,事情就是这样,记得mql4中广泛的反编译,这些bug被考虑到了,并且实施了保护。
总的来说,这是一个有效的安全选择,不利于直接调用WinAPI,但由于对dll的访问是开放的,功能没有改变,互动的方式却改变了。
因此,你将不会遇到任何反编译或潜在的黑客攻击你的程序。而这对开发者来说是好事,也是一种尊重。
考虑到这一点,市场上的播客开始编入原生系统。
雷纳特
从Build 500开始,它已经是弱反编译的了,因为安全系统已经完全改变。
在迁移到MQL5引擎和市场后,反编译器主题将完全死亡。谁不知道--来自Market的产品在购买时是以32/64 nativ(纯汇编,没有办法反编译)编译的,并针对买方的硬件进行了加密。
仅在MQL中,这两项任务都是通过自动运行EA计数工具来解决的。
正是如此,我就是这样做的。然而,我没有使用Web-Request,但自动优化--对我和TC联盟来说--是完全有效的。而选择是分几次进行的,首先优化一个 "干净的 "系统,并固定其参数,然后运行 盈亏平衡优化,并固定其参数,然后运行保护性SL的优化(如果需要)。而且到处都有与框架有关的工作,以及对其数据的处理。
所有必要的多线程都已经到位了。
管理员Renat总是回答这样的问题,Metaquotes总是选择一个保证安全的解决方案,好在另一种情况是,你得到一个内存指针,可以注入一个病毒,可以将其代码添加到编译的ex4/ex5中。
你真的认为我不能在调试器下用专家顾问运行终端,找到执行的相对地址吗?任何函数或变量的地址?另一件事是,这些地址可能会改变(因为应用了技巧),但在理论上,我可以找出正常指针会给我的一切。
另一件让他们害怕的事情是在运行时通过指针找出函数地址,并在dll中把它们拽出来。