
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Yeah, that's what I did.
for practical purposes, I should probably take the worst case scenario
There are numbers from StartN to EndN inclusive.
You need to make combinations of CountN in each
I wrote this script for the number of numbers in a combination of 3:
which outputs:
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
I'm confused, how can I make it work with a specified number of CountN?
The binary representation of a number...
Binary representation of a number...
that's not the point, it's just the parameters I took, from 0 to 1 inclusive.
Take [0;2]
and you get:
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
There are numbers from StartN to EndN inclusive.
I need to make combinations of CountN in each
I am so confused, how to make it work with a given number of CountN?
I think I've done this before, here's the topic
https://www.mql5.com/ru/forum/335077
it's not that, it's just that I took parameters from 0 to 1 inclusive.
take [0;2]
and we get:
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD...,H4: 222
2020.07.12 22:16:57.703 sProbCandlComb XAUUSD..,H4: 221
...
So the problem comes down to converting the number of the main loop to another number system, plus a correction for StartN
So the problem comes down to converting the number of the main loop to another number system, plus a correction for StartN
Can I have the code?
I think I've done this before, here's a thread
https://www.mql5.com/ru/forum/335077
Not everything is fine with the code, but it seems to be what I need, I'll fix it, I'll post it here.
now the code doesn't generate the full length combinations
I think I've done this before, here's a thread
https://www.mql5.com/ru/forum/335077
It didn't get what I needed, the code has too many loops of unclear purpose.
My solution is this:
I assume this code with as few iterations as possible.
result at [0;1] numbers with number in row 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
result for values [0;2] with number in row 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
The algorithm logic is simple and the same as the calculation rule: add 1 to the digit, if the digit contains more than the number we set as minimum and go to the next digit, if there is no "zeroing" at the next digit, we go back to the first one.
True, the digits I have not on the right but on the left, well, whoops.
0000
0001
0010
0011
0100
0101
....
etc.
It may be possible to get even nicer code by using recursion, but it is unlikely to be faster.
your example is not a combination but a permutation without repetition
and my example is a combination without repetition