Сортировка простыми обменами, сортиро́вка пузырько́м (англ. ) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Сложность алгоритма: O(n²). Алгоритм считается учебным и практически не применяется вне учебной литературы, вместо него на практике применяются более...
Urain,sergeev 谢谢你的回答。
我知道向数组写索引的事,我想可能有更快的方法。
这是我第一次听说 "泡沫 "排序。如 果可以,请给我更多的细节,最好有一个简单的例子。我还是会读你的链接。
再次感谢您的回答。
http://ru.wikipedia.org/wiki/Сортировка_пузырьком
顺便说一下,该文章实现了索引的摇床排序(但我出于习惯称之为泡沫排序)。
振动筛与气泡筛的不同之处在于,气泡筛是单向通过的,而振动筛是交替进行的,这就通过减少通过次数加快了分选速度,因为气泡不仅会漂浮,还会下沉。
猜三次我是来问哪个指标的?正确答案是iFractals。出乎意料,不是吗?
自定义指标https://www.mql5.com/ru/docs/customind 的帮助部分说:"例如,如果当前利率_总数=1000,prev_calculated=999,那么也许我们只需要为每个指标缓冲区的一个值进行计算。"但这一切都适用于OnCalculate() 函数调用的第一种--简短--形式。另一方面,如果有几个指标缓冲区参与计算,这种形式将无法工作。
让我们在M1 中执行帮助中的iFractals 例子的代码,其中使用了OnCalculate() 函数调用的第二种--完整形式。但在此之前,在这个函数中,让我们纠正一下
Comment(comm);至
Print(comm);以免忽略任何有输出的行(如果保持原样,在视觉上总是能看到1,因为其他的值很少,而且立即被1取代,所以看起来1总是被输出)。运行后,我们看到非单位值每分钟都会出现,即在每一个新的条形图上,这明确表明指标每分钟都会重新绘制。充分 尽管代码中使用了经济的算法.怀疑者可以添加几行代码,比如说在每个分形上画上竖线,然后在第一次画完后将其删除,等待一分钟后出现全套的相同线条,并出现新的条形。由于某些原因,它不是只画最后一个分形或线条。
向开发者提问:是指标写得不小心,还是没有打算只呈现分形的最后--新--计算值? 还是我兴高采烈地将一个带有values_to_copy 计算的代码块与根本不存在的经济算法 混淆了? 或者在OnCalculate() 函数调用的完整形式中,不可能使用const int begin的类似物来设置有意义数据的开头?
请注意,在实验过程中不会发生填补历史 "空洞",从过去加载条形图和其他使prev_calculated 归零的事件。也就是说,没有理由重新计算整个指标的值。
当然,对于这种臭名昭著的节俭算法,我也会为自己做一些可以容忍的事情,但显然,开发人员对此的官方意见和必要时的修正在这里很重要。
向开发者提出令人信服的请求(顺便说一下,我不是第一个提出这个请求的人):请用新的分形 指标取代旧的版本。(作为参考:在旧版本中,最新鲜的分形可能出现在最后一个条形上(这可能导致其不受欢迎的重绘),而在新版本中,最新鲜的分形可以出现在最新条形的前三个条形上)。当然,如果我们愿意,我们可以手动绘制一个旧版本或一个 新版本的图表,但当我们试图在代码中引用iFractals 句柄时,旧版本仍将发挥作用。浪费了多少时间,试图让自己兴奋起来,不要把脸砸在桌子上,试图找出这个所谓的错误......。
P.S.: 我没有更新全部内容,只通过实时更新。能否是它的原因?有什么提示吗?如果是这样,我将彻底更新。
向开发者提出令人信服的请求(顺便说一下,我不是第一个提出这个请求的人):请用新的分形 指标取代旧的版本。(供您参考:在旧版本中,最新鲜的分形可能会出现在最后一个柱子上(这可能会导致其不受欢迎的重绘),而在新版本中,最新鲜的分形最多可以出现在最新的柱子前三个柱子上)。当然,如果我们愿意,我们可以手动绘制一个旧版本或一个 新版本的图表,但当我们试图在代码中引用iFractals 句柄时,旧版本仍将发挥作用。浪费了多少时间,试图让自己兴奋起来,不要把脸砸在桌子上,试图找出这个所谓的错误......。
P.S.: 我没有更新全部内容,只通过实时更新。这可能是原因吗?有什么提示吗?如果是这样,我将彻底更新。
是什么让你 不能使用iCustom(...)?
向开发者提出令人信服的请求(顺便说一下,我不是第一个提出这个请求的人):请用新的分形 指标取代旧的版本。(作为参考:在旧版本中,最新鲜的分形可能出现在最后一个条形上(这可能导致其不受欢迎的重绘),而在新版本中,最新鲜的分形可以出现在最新条形 的前三个条形上)。
1.我们谈论的是哪个新版本?
2.是什么阻碍了你对3条而不是2条进行投票?
等等,有些东西是不工作的。以上是CCFp.mq5的一段代码,我安装了它来进行自我测试。我自己的指标(按照同样的原则编写,即Handles->CopyBuffer)。
不起作用(Print(buff[i])显示一些狗屎。
请:如果你有解决方案,请把代码发给我。MT5 bild 555/.
我刚才听到终端在休息后与服务器重新连接的声音,我查了一下,确实如此,它又出现了故障。
我刚才听到终端在休息后与服务器重新连接,我查了一下,确实如此,它又出现了故障。
1.我们谈论的是哪个新版本?
2.是什么阻碍了你对3条而不是2条进行投票?
1.在标准指标中,有两个看似相同的分形 指标:在有 Bill Williams 指标的部分和自定义 部分。当比较它们时,我们看到第一个倾向于在最后一个柱子上重新绘制一些新鲜的分形,而第二个则没有这样的缺点,因为在循环过程中,分形是在i<rates_total-3 的情况下用自己的算法检查的,也就是说,有一个柱子的时间,而分形本身的算法是只检查相邻的两个柱子,如果需要,只有当新的、第三个柱子出现时才会完全确认它们。我知道正确的分形的位置:C:\Program Files\MetaTrader 5\MQL5\Indicators\Examples\Fractals.mq5,但iFractals 不知道它,但iFractals 知道通往旧版本的方法,我几乎找不到。它是否从C:\Program Files\MetaTrader 5\MQL5\Include\Indicators\BillWilliams.mqh 获取旧代码?
2.没什么,这个解决方案很明显,我几乎已经在用了。但事情是这样的。如果我们不深入研究项目,只考虑分形,那么是的--重新布线没有错;但如果我们根据跳跃的分形进行图形化的TA构建,并根据它们进行自动交易,那么在某些情况下会出现错误的操作(过早开仓),因为还没有发生分形的重新布线,没有进行构建的修正,但入市信号已经发挥作用。当分形重绘加上重建图表工具时,除了过早打开的位置外,一切都将得到纠正。通过关闭、减少或打开相反的头寸来削弱头寸不是最令人愉快的解决方案--这需要额外的过滤器、检查,这与可疑的信号相矛盾,因此降低了交易的频率,同时也给指标增加了其他复杂的压舱物。
原则上,人们可以向自己让步,同意使用负数第一的分形,而不是最后的分形,因为最后的分形仍有疑问,可以重新绘制。但对我来说,这是一个典型的拐杖的例子,有时会在自己的代码中积累,如果可能的话,不应该存在......我甚至不说从市场上获得正确信息和进行构建的迟缓。
我有个问题:是否可以获得不同货币对的指标数据,而不仅仅是安装指标的货币对。
等等,有些东西是不工作的。以上是CCFp.mq5的一段代码,我安装了它来进行自我测试。我自己的指标(根据相同的原则编写,即Handles->CopyBuffer)。
不起作用(Print(buff[i])显示一些狗屎。
要求:如果你有解决方案,请给我代码。MT5 bild 555/
是的,似乎我自己已经解决了这个问题。
向管理员提问:我从网站上下载了它,在帮助例子中我使用了(xxx=iMA(.....)),但MA不在指标中,而是在内含中。这是一个智力测试吗?
我很抱歉,时间太长了!