算法的优化。 - 页 9 12345678910 新评论 Aleksey Mavrin 2020.02.29 21:18 #81 Andrey Dik: 是的,这就是我所做的。 但在同一个字符上经常有相同的时间点,当一毫秒内有几个点的时候 这就是我被卡在逻辑上的地方。 为了实际的目的,我也许应该采取最坏的情况 Andrey Dik 2020.07.12 18:57 #82 有从开始N到结束N的数字,包括在内。 你需要将CountN的组合在每个 我为3的组合中的数字数量写了这个脚本。 input int StartN = 0; input int EndN = 1; input int CountN = 5; void OnStart() { string str = ""; //уровень 0 for (int i = StartN; i <= EndN; i++) { //str = StringSubstr (str, 0, 0); //str += (string)i; str = (string)i; //уровень 1 for (int k = StartN; k <= EndN; k++) { str = StringSubstr (str, 0, 1); str += (string)k; //уровень 2 for (int l = StartN; l <= EndN; l++) { str = StringSubstr (str, 0, 2); str += (string)l; Print (str); } } } } 其中输出。 2020.07.12 21:48:47.763 sProbCandlComb XAUUSD...,H4: 111 2020.07.12 21:48:47.763 sProbCandlComb XAUUSD.,H4: 110 2020.07.12 21:48:47.763 sProbCandlComb XAUUSD.,H4: 101 2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 100 2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 011 2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 010 2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 001 2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 000 我很困惑,怎样才能使它在指定的CountN数量下工作? Optimisation of algorithms. Not the Grail, just Morse code Aliaksandr Hryshyn 2020.07.12 19:12 #83 一个数字的二进制表示... Andrey Dik 2020.07.12 19:18 #84 Aliaksandr Hryshyn:一个数字的二进制表示... 这不是重点,这只是我采取的参数,从0到1(包括)。 以[0;2]为例 而你得到的是。 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD...,H4: 222 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 221 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 220 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 212 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 211 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 210 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 202 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 201 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 200 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 122 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 121 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 120 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 112 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 111 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 110 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 102 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 101 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 100 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 022 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 021 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 020 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 012 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 011 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 010 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 002 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 001 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 000 Optimisation of algorithms. Weekly performance Total leaders Igor Makanu 2020.07.12 19:34 #85 Andrey Dik:有从开始N到结束N的数字,包括在内。我需要将CountN的组合在每个我很困惑,如何让它在给定数量的CountN下工作? 我想我以前做过这个,题目是这样的 https://www.mql5.com/ru/forum/335077 Aliaksandr Hryshyn 2020.07.12 19:48 #86 Andrey Dik:不是这样的,只是我把参数从0到1包括在内。采取[0;2]而我们得到的是。 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD...,H4: 222 2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 221 ... 所以问题归结为将主循环的数字转换为另一个数字系统,再加上对StartN的修正 Andrey Dik 2020.07.12 20:34 #87 Aliaksandr Hryshyn:所以问题归结为将主循环的数字转换为另一个数字系统,再加上对StartN的修正 我可以拥有这个代码吗? Andrey Dik 2020.07.12 20:36 #88 Igor Makanu:我想我以前做过这个,这里有一个主题https://www.mql5.com/ru/forum/335077 不是所有的代码都很好,但似乎是我所需要的,我会把它修好的,我会把它贴在这里。 现在代码没有生成全长的组合 Andrey Dik 2020.07.12 22:32 #89 Igor Makanu:我想我以前做过这个,这里有一个主题https://www.mql5.com/ru/forum/335077 它没有得到我需要的东西,代码中有太多目的不明确的循环。 我的解决方案是这样的。 #property script_show_inputs //--- input parameters input int StartN = 0; input int EndN = 1; input int CountN = 3; void OnStart () { string base []; //алгоритм сочетаний без повторений CombinationGenerator (StartN, EndN, CountN, base); //выведем полученные комбинации в принт for (int i = 0; i < ArraySize (base); i++) Print (base [i]); } string CreateString (int &base []) { string s = ""; for (int i = 0; i < ArraySize (base); i++) s += (string)base [i]; return s; } //Алгоритм сочетаний без повторений void CombinationGenerator (int startN, int endN, int rowLen, string &base []) { ArrayResize (base, (int)pow (EndN - StartN + 1, CountN)); int comb []; ArrayResize (comb, CountN); ArrayInitialize (comb, StartN); string str = ""; int pos = 0; base [pos] = CreateString (comb); bool flag = true; while (flag && !IsStopped ()) { for (int l = 0; l < CountN; l++) { if (comb [l] + 1 <= EndN) { comb [l] += 1; pos++; base [pos] = CreateString (comb); break; } else { if (l == CountN - 1) flag = false; comb [l] = StartN; } } } } 我假设这段代码的迭代次数越少越好。 结果在[0;1]的数字与第3行的数字。 2020.07.13 01:21:41.037 sProbCandlComb EURUSD...,M5: 111 2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 011 2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 101 2020.07.13 01:21:41.037 sProbCandlComb EURUSD..., M5: 001 2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 110 2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 010 2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 100 2020.07.13 01:21:41.037 sProbCandlComb EURUSD..., M5: 000 结果为数值[0;2],数字在第4行。 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2222 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1222 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0222. 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2122 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1122 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0122 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2022 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1022 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0022. 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2212 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1212 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0212 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2112 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1112 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0112 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2012 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1012 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0012 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2202 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1202 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0202 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2102 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1102 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0102 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2002 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1002 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0002 2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 2221 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1221 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0221 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2121 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1121 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0121 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2021 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1021 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0021 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2211 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1211 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0211 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2111 2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 1111 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0111 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2011 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1011 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0011 2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 2201 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1201 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0201 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2101 2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 1101 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0101 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2001 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1001 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0001 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2220 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1220 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0220 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2120 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1120 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0120 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2020. 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1020 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0020 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2210 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1210 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0210 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2110 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1110 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0110 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2010 2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 1010 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0010 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2200 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1200 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0200 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2100 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1100 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0100 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2000 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1000 2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0000 算法逻辑很简单,与计算规则相同:在数位上加1,如果数位上的数字多于我们设定的最小数,就进入下一个数位,如果在下一个数位上没有 "归零",就回到第一个数位。 的确,我的数字不是在右边,而是在左边,嗯,糟糕。 0000 0001 0010 0011 0100 0101 .... 等。 通过使用递归可能会得到更漂亮的代码,但不可能更快。 Optimisation of algorithms. Igor Makanu 2020.07.12 22:56 #90 Andrey Dik: 你的例子不是一个组合,而是一个没有重复的permutation 而我的例子是一个没有重复的组合 12345678910 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,这就是我所做的。
为了实际的目的,我也许应该采取最坏的情况
有从开始N到结束N的数字,包括在内。
你需要将CountN的组合在每个
我为3的组合中的数字数量写了这个脚本。
其中输出。
2020.07.12 21:48:47.763 sProbCandlComb XAUUSD...,H4: 111
2020.07.12 21:48:47.763 sProbCandlComb XAUUSD.,H4: 110
2020.07.12 21:48:47.763 sProbCandlComb XAUUSD.,H4: 101
2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 100
2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 011
2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 010
2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 001
2020.07.12 21:48:47.762 sProbCandlComb XAUUSD.,H4: 000
我很困惑,怎样才能使它在指定的CountN数量下工作?
一个数字的二进制表示...
一个数字的二进制表示...
这不是重点,这只是我采取的参数,从0到1(包括)。
以[0;2]为例
而你得到的是。
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD...,H4: 222
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 221
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 220
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 212
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 211
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 210
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 202
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 201
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 200
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 122
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 121
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 120
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 112
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 111
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 110
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 102
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 101
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 100
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 022
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 021
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 020
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 012
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 011
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 010
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 002
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 001
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 000
有从开始N到结束N的数字,包括在内。
我需要将CountN的组合在每个
我很困惑,如何让它在给定数量的CountN下工作?
我想我以前做过这个,题目是这样的
https://www.mql5.com/ru/forum/335077
不是这样的,只是我把参数从0到1包括在内。
采取[0;2]
而我们得到的是。
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD...,H4: 222
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD.,H4: 221
...
所以问题归结为将主循环的数字转换为另一个数字系统,再加上对StartN的修正
所以问题归结为将主循环的数字转换为另一个数字系统,再加上对StartN的修正
我可以拥有这个代码吗?
我想我以前做过这个,这里有一个主题
https://www.mql5.com/ru/forum/335077
不是所有的代码都很好,但似乎是我所需要的,我会把它修好的,我会把它贴在这里。
现在代码没有生成全长的组合
我想我以前做过这个,这里有一个主题
https://www.mql5.com/ru/forum/335077
它没有得到我需要的东西,代码中有太多目的不明确的循环。
我的解决方案是这样的。
我假设这段代码的迭代次数越少越好。
结果在[0;1]的数字与第3行的数字。
2020.07.13 01:21:41.037 sProbCandlComb EURUSD...,M5: 111
2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 011
2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 101
2020.07.13 01:21:41.037 sProbCandlComb EURUSD..., M5: 001
2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 110
2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 010
2020.07.13 01:21:41.037 sProbCandlComb EURUSD.,M5: 100
2020.07.13 01:21:41.037 sProbCandlComb EURUSD..., M5: 000
结果为数值[0;2],数字在第4行。
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2222
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1222
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0222.
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2122
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1122
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0122
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2022
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1022
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0022.
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2212
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1212
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0212
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2112
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1112
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0112
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2012
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1012
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0012
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2202
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1202
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0202
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2102
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1102
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0102
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2002
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1002
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0002
2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 2221
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1221
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0221
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2121
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1121
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0121
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2021
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1021
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0021
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2211
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1211
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0211
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2111
2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 1111
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0111
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2011
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1011
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0011
2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 2201
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1201
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0201
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2101
2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 1101
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0101
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2001
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1001
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0001
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2220
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1220
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0220
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2120
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1120
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0120
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2020.
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1020
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0020
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2210
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1210
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0210
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2110
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1110
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0110
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2010
2020.07.13 01:22:50.851 sProbCandlComb EURUSD...,M5: 1010
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0010
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2200
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1200
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0200
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2100
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1100
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0100
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 2000
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 1000
2020.07.13 01:22:50.851 sProbCandlComb EURUSD.,M5: 0000
算法逻辑很简单,与计算规则相同:在数位上加1,如果数位上的数字多于我们设定的最小数,就进入下一个数位,如果在下一个数位上没有 "归零",就回到第一个数位。
的确,我的数字不是在右边,而是在左边,嗯,糟糕。
0000
0001
0010
0011
0100
0101
....
等。
通过使用递归可能会得到更漂亮的代码,但不可能更快。
你的例子不是一个组合,而是一个没有重复的permutation
而我的例子是一个没有重复的组合