支持MG4脚本和顾问的测试人员 - 页 4 1234567891011 新评论 Warstein 2014.11.08 12:27 #31 你们都可以用头撞墙,或者发明暖水....。但Integer 是对的。整数。正是如此。特别是利用自己的优越地位的权威。所有的语言都是一样的,除了奢侈的语言。所有这些都可以在21天内被任何傻瓜学会。所有的for、while、if、switch可能有不同的记号,但在原则上没有任何区别。重要的不是运算符的编写方式,而是语言与之互动的基础设施。在这方面,MT4和MT5是两个不同的世界。一切的差异。从小处着手--指标中的条形图的编号,在MT4中从右到左,在MT5中从左到右。继续说更重要的一个--总的立场和贸易历史数据的组织。最大的区别在于经常需要的东西--在获取报价和指标数据的方式上,复制数据需要检查,从左到右和从右到左的索引,条形的时间要么包括在范围内,要么不包括。把CodeBase中关于iBarShift()函数的讨论单独拿出来。在MT4中,为确保专家顾问的稳定运行,只需检查OrderSelect()的返回值即可,但在MT5中,有必要在每一步进行检查,甚至在最后一个tick的数据中进行检查。MT5编程也有一些微妙之处,你只有在吃过很多苦头之后才能学会,因为有很多陷阱。 Victor Nikolaev 2014.11.08 12:59 #32 Renat:你在这个论坛上没有看到的东西。 为什么,没有责任。你可以说任何事情。 语言仍然是不同的。5的指标代码不一定能在4中发挥作用。没有足够的能力 Boris 2014.11.08 13:09 #33 Vinin: 语言仍然是不同的。5的指标代码不一定能在4中发挥作用。没有足够的能力 最好是4号的指标代码在4号中仍然有效。而且将不需要任何功能 Victor Nikolaev 2014.11.08 15:12 #34 borilunad: 如果4的指标代码在4中仍然有效,那就更好了。也就不需要什么功能了。 他们确实在工作。除非它们被修改或重新编译 Boris 2014.11.08 15:41 #35 Vinin: 他们确实在工作。除非你修改或重新编译它们。 我没有改变 "主题 "中的任何东西,但当终端从第670次更新到第711次时,在测试器中使用任何一个都会变得迟缓,这就是我报告的原因,但我开始用标准的MA进行实验,发现了许多以前因经验不足而无法做到的事情。现在我用它来工作,并对它感到满意。只是对我购买的8号机不满意,这被称为是一场灾难,并计划只在它身上下功夫,其余的都在Vista上。我想我将不得不继续使用Vista,同时它还能存活,然后在不相信任何人的情况下购买它,我将让这个8-th的肥皂、网站等。:) TheXpert 2014.11.08 16:43 #36 Renat:MetaTrader 4的历史深度有限,有独立的时间框架,并可通过开盘/高/低/收盘/时间[xxx]直接访问其符号条。这种直接访问在资源和CPU成本方面的实现非常昂贵。考虑到每个专家顾问都有自己的该数据的本地拷贝,以避免与其他专家顾问和终端本身的冲突。这其实不是用户的问题,是你的问题。也就是说,你可以说是把终端的数据访问问题转嫁给了用户。 也就是说,你要么提高编码技能的门槛,要么得到大量的无效代码,这可能比MT4中的直接便捷访问更糟糕,效率更低。事实上,你的一些解决方案是非常有争议的。 Renat Fatkhullin 2014.11.08 20:21 #37 TheXpert:这其实不是用户的问题,而是你的问题。所以你可以说你是把终端的数据访问问题转嫁给了用户。也就是说,你要么提高编码技能的标准,要么得到一堆歪门邪道的代码,这可能比MT4中的直接便捷访问效果要差得多,而且没有效果。一般来说,你的一些解决方案是非常有争议的。阅读全文--有一个直接的推理,为什么不可能进一步使用它。为了使用户以后不会因为刹车或过度使用资源而责怪我们,我们对所要求的数据给予了更有效的控制。一个简单的例子:欧洲美元M1的专家顾问,有10年的历史,目前的图表需要大约200MB。在MT4模型中,我们将不得不在每个tick 中复制(甚至很少)200 mb到专家的影子快照中,我们将损失200 mb的内存。在MT5中,这种缓存根本没有内存消耗,专家顾问很可能只请求一小段历史,把它放在本地数组中,并以最大速度工作。 TheXpert 2014.11.08 20:32 #38 Renat:为了防止用户事后指责我们的滞后或过度的资源消耗,我们对请求的数据给予了更有效的控制。我读了整个文本。这并不是不可能的。你为图表收集时间框架,你可以用同样的方式为专家顾问收集时间框架,而且做得相当有效。你怎么会认为用户会因为刹车而杀了你?在MT4模型中,我们将不得不在每一个tick上复制(即使是少量的)200Mb的影子快照的EA,并浪费200Mb的内存。MT5根本没有用于这种缓存的内存费用,专家顾问可能只请求一小块历史记录,将其放在本地数组中,并以最大速度工作。 做一个聪明的缓存(有经验),不要把其他的东西放在内存中。 Renat Fatkhullin 2014.11.08 21:13 #39 用内部高效的生态系统和虚拟机 编写你自己的终端引擎,然后我们再谈。我们在过去的四个平台中都是这样写的,一次又一次地改进架构。所以我们的决定是由实践经验来证明的。否则,就不可能对 "做吧,聪明的缓存,它们不会被滥用,等等 "的建议作出回应。 Yury Reshetov 2014.11.09 10:10 #40 Integer:正是如此。特别是利用自己的优越地位的权威。所有的语言都是一样的,除了那些特别奢侈的语言。所有这些都可以在21天内被任何傻瓜学会。所有的for、while、if、switch可能有不同的记号,但它并没有从根本上改变什么。重要的不是运算符的编写方式,而是语言与之互动的基础设施。在这方面,MT4和MT5是两个不同的世界。 一切都有区别。从一个小问题开始--指标中的条形图编号,在MT4中从右到左,在MT5中从左到右。 ...与MT4相比,MT5的编号默认是相反的。事实上,数组可以向任何方向反转。参见文档:数组、缓冲区和时间序列中的索引方向。整数。...继续说说更重要的--总的立场和贸易历史数据的组织。...在MT4上有很多问题,因为我们必须通过OrderCloseBy()向服务器发送一个额外的订单来覆盖工具的相反位置,由于各种原因,这并不总是有效。因此,我们不得不额外检查并重新发送订单,否则整个交易系统的逻辑就会被破坏。在MT5中,由于总的位置,一切都被简化到可以接受的水平。例如,现在我们甚至不必担心盈亏平衡水平应该是多少--这个愚蠢的问题只在MT4上有意义。毕竟,总头寸的开盘价就是盈亏平衡水平。对于获胜的头寸,一切都变得更简单了,因为它们在服务器上自动关闭,无需发送额外的订单。即以牺牲总量的姿势为代价,将代码量减少到必要和足够的水平,以及为它们所需的冗余命令和检查量。整数。 在MT4中,检查OrderSelect()的返回值就足够了,而在MT5中,有必要在每一步进行检查,甚至在最后一个tick的数据上。MT5编程还有一些微妙之处,你只有在吃过很多苦头之后才能学会,因为有很多陷阱。没有人强迫MT5使用额外的检查,你可以希望和MT4一样,尝试处理任何没有检查的东西,这些东西没有从服务器正确加载,或者根本没有加载,只是初始化了而已。在这种情况下,性能也将对应于MT4,也就是说,只有在测试器中一切正常,我们将看到模拟和真实账户上的废话。这就是MT5中增加的额外检查的数量,目的是确保获得的信息的质量。在MT4中,很多这样的检查都没有,所以在一些关键的情况下,不可能确保从终端收到的信息是可靠的,这些信息需要被处理以做出决定。你只能希望终端已经正确地从服务器下载了所需的一切,但没有办法确定这一点--没有任何东西可以检查其正确性。一般来说,对MT5的攻击 - 只是那些不想切换到新终端的人的一个烂借口,或者是那些只听说过MT5,但不知道它在哪里的人的发明。MT4是昨天的终端,用于创建原始算法,这些算法或多或少适合在测试器中 "交易",用于绘制漂亮的平衡曲线。如果你对画漂亮的平衡曲线不感兴趣,因为你不能把它们放在口袋里,也不能把它们放在面包上,只能用来在质朴的主题中吹嘘,你需要转到MT5。 1234567891011 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你们都可以用头撞墙,或者发明暖水....。但Integer 是对的。
整数。
正是如此。特别是利用自己的优越地位的权威。
所有的语言都是一样的,除了奢侈的语言。所有这些都可以在21天内被任何傻瓜学会。所有的for、while、if、switch可能有不同的记号,但在原则上没有任何区别。重要的不是运算符的编写方式,而是语言与之互动的基础设施。在这方面,MT4和MT5是两个不同的世界。
一切的差异。从小处着手--指标中的条形图的编号,在MT4中从右到左,在MT5中从左到右。继续说更重要的一个--总的立场和贸易历史数据的组织。最大的区别在于经常需要的东西--在获取报价和指标数据的方式上,复制数据需要检查,从左到右和从右到左的索引,条形的时间要么包括在范围内,要么不包括。把CodeBase中关于iBarShift()函数的讨论单独拿出来。
在MT4中,为确保专家顾问的稳定运行,只需检查OrderSelect()的返回值即可,但在MT5中,有必要在每一步进行检查,甚至在最后一个tick的数据中进行检查。MT5编程也有一些微妙之处,你只有在吃过很多苦头之后才能学会,因为有很多陷阱。
你在这个论坛上没有看到的东西。
为什么,没有责任。你可以说任何事情。
语言仍然是不同的。5的指标代码不一定能在4中发挥作用。没有足够的能力
如果4的指标代码在4中仍然有效,那就更好了。也就不需要什么功能了。
他们确实在工作。除非你修改或重新编译它们。
MetaTrader 4的历史深度有限,有独立的时间框架,并可通过开盘/高/低/收盘/时间[xxx]直接访问其符号条。这种直接访问在资源和CPU成本方面的实现非常昂贵。考虑到每个专家顾问都有自己的该数据的本地拷贝,以避免与其他专家顾问和终端本身的冲突。
这其实不是用户的问题,是你的问题。也就是说,你可以说是把终端的数据访问问题转嫁给了用户。
也就是说,你要么提高编码技能的门槛,要么得到大量的无效代码,这可能比MT4中的直接便捷访问更糟糕,效率更低。
事实上,你的一些解决方案是非常有争议的。
这其实不是用户的问题,而是你的问题。所以你可以说你是把终端的数据访问问题转嫁给了用户。
也就是说,你要么提高编码技能的标准,要么得到一堆歪门邪道的代码,这可能比MT4中的直接便捷访问效果要差得多,而且没有效果。
一般来说,你的一些解决方案是非常有争议的。
阅读全文--有一个直接的推理,为什么不可能进一步使用它。
为了使用户以后不会因为刹车或过度使用资源而责怪我们,我们对所要求的数据给予了更有效的控制。
一个简单的例子:欧洲美元M1的专家顾问,有10年的历史,目前的图表需要大约200MB。在MT4模型中,我们将不得不在每个tick 中复制(甚至很少)200 mb到专家的影子快照中,我们将损失200 mb的内存。在MT5中,这种缓存根本没有内存消耗,专家顾问很可能只请求一小段历史,把它放在本地数组中,并以最大速度工作。
为了防止用户事后指责我们的滞后或过度的资源消耗,我们对请求的数据给予了更有效的控制。
我读了整个文本。这并不是不可能的。你为图表收集时间框架,你可以用同样的方式为专家顾问收集时间框架,而且做得相当有效。
你怎么会认为用户会因为刹车而杀了你?
在MT4模型中,我们将不得不在每一个tick上复制(即使是少量的)200Mb的影子快照的EA,并浪费200Mb的内存。MT5根本没有用于这种缓存的内存费用,专家顾问可能只请求一小块历史记录,将其放在本地数组中,并以最大速度工作。
用内部高效的生态系统和虚拟机 编写你自己的终端引擎,然后我们再谈。我们在过去的四个平台中都是这样写的,一次又一次地改进架构。所以我们的决定是由实践经验来证明的。
否则,就不可能对 "做吧,聪明的缓存,它们不会被滥用,等等 "的建议作出回应。
正是如此。特别是利用自己的优越地位的权威。
所有的语言都是一样的,除了那些特别奢侈的语言。所有这些都可以在21天内被任何傻瓜学会。所有的for、while、if、switch可能有不同的记号,但它并没有从根本上改变什么。重要的不是运算符的编写方式,而是语言与之互动的基础设施。在这方面,MT4和MT5是两个不同的世界。
一切都有区别。从一个小问题开始--指标中的条形图编号,在MT4中从右到左,在MT5中从左到右。
...
与MT4相比,MT5的编号默认是相反的。事实上,数组可以向任何方向反转。参见文档:数组、缓冲区和时间序列中的索引方向。
整数。
...
继续说说更重要的--总的立场和贸易历史数据的组织。
...
在MT4上有很多问题,因为我们必须通过OrderCloseBy()向服务器发送一个额外的订单来覆盖工具的相反位置,由于各种原因,这并不总是有效。因此,我们不得不额外检查并重新发送订单,否则整个交易系统的逻辑就会被破坏。
在MT5中,由于总的位置,一切都被简化到可以接受的水平。例如,现在我们甚至不必担心盈亏平衡水平应该是多少--这个愚蠢的问题只在MT4上有意义。毕竟,总头寸的开盘价就是盈亏平衡水平。对于获胜的头寸,一切都变得更简单了,因为它们在服务器上自动关闭,无需发送额外的订单。
即以牺牲总量的姿势为代价,将代码量减少到必要和足够的水平,以及为它们所需的冗余命令和检查量。
整数。
在MT4中,检查OrderSelect()的返回值就足够了,而在MT5中,有必要在每一步进行检查,甚至在最后一个tick的数据上。MT5编程还有一些微妙之处,你只有在吃过很多苦头之后才能学会,因为有很多陷阱。
没有人强迫MT5使用额外的检查,你可以希望和MT4一样,尝试处理任何没有检查的东西,这些东西没有从服务器正确加载,或者根本没有加载,只是初始化了而已。在这种情况下,性能也将对应于MT4,也就是说,只有在测试器中一切正常,我们将看到模拟和真实账户上的废话。
这就是MT5中增加的额外检查的数量,目的是确保获得的信息的质量。在MT4中,很多这样的检查都没有,所以在一些关键的情况下,不可能确保从终端收到的信息是可靠的,这些信息需要被处理以做出决定。你只能希望终端已经正确地从服务器下载了所需的一切,但没有办法确定这一点--没有任何东西可以检查其正确性。
一般来说,对MT5的攻击 - 只是那些不想切换到新终端的人的一个烂借口,或者是那些只听说过MT5,但不知道它在哪里的人的发明。
MT4是昨天的终端,用于创建原始算法,这些算法或多或少适合在测试器中 "交易",用于绘制漂亮的平衡曲线。如果你对画漂亮的平衡曲线不感兴趣,因为你不能把它们放在口袋里,也不能把它们放在面包上,只能用来在质朴的主题中吹嘘,你需要转到MT5。