알고리즘 최적화. - 페이지 10

 
Igor Makanu :

당신은 조합이 아니라 반복이없는 순열을 가지고 있습니다.

그리고 내 예시는 반복 없는 조합

그래서, 그것이 의도 한 방법입니까?

0

하나

01

열하나

001

101

011

...


그러면 코드가 훨씬 더 복잡해지지는 않지만 확실히 많은 사이클이 필요하지 않습니다.

 
Andrey Dik :

그래서, 그것이 의도 한 방법입니까?

테스터에서 파일 이름을 생성해야 했습니다. 각 파일은 전략 매개변수입니다.

반복 없이 조합을 생성하여 차량의 모든 조합을 결합합니다. 주제의 마지막 페이지에서 이를 수행하는 코드


귀하의 문제는 Google "반복 재귀 C ++가없는 순열"이 쉽습니다.

 
Igor Makanu :

귀하의 문제는 Google "반복 재귀 C ++가없는 순열"이 쉽습니다.

Google에서 검색했지만 대부분은 보편적이지 않은 솔루션을 발견했습니다.

그러나 어떤 경우에도 스스로 수행하고 알아내는 것이 훨씬 더 흥미롭고 유익합니다.))

 
Andrey Dik :

코드를 가질 수 있습니까?

 input int       StartN = 5 ;
input int       EndN   = 7 ;
input int       CountN = 4 ;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart ()
  {
   for ( int i1= 0 ; i1< 30 ; i1++)
     {
       Print (CombinationGenerator(i1,StartN,EndN,CountN));
     }
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string CombinationGenerator( uint iteration_index, int startN, int endN, int countN)
  {
   string result;
   int base=endN-startN+ 1 ;
   uint ml=base;
   for ( int i1= 0 ; i1<countN; i1++)
     {
       uint md=iteration_index%base;
      result=result+ string (md+startN);
      iteration_index=(iteration_index-md)/base;
     }
   return result;
  }

간단 해:

 2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5555
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6555
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7555
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5655
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6655
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7655
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5755
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6755
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7755
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5565
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6565
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7565
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5665
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6665
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7665
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5765
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6765
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7765
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5575
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6575
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7575
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5675
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6675
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7675
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5775
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6775
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7775
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       5556
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       6556
2020.07 . 13 16 : 45 : 27.456 test3 (EURUSD,M1)       7556
 
Aliaksandr Hryshyn :

간단 해:

멋진, 감사합니다! 내가 볼 것이다.