Robot inteligente

MQL5 전문가 C++

명시

drán índices de grupos de parámetros.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit() {
   // Load strategy parameter sets
   int totalParams = LoadParams(fileName_, params);

   // If nothing is loaded, report an error 
   if(totalParams == 0) {
      PrintFormat(__FUNCTION__" | ERROR: Can't load data from file %s.\n"
                  "Check that it exists in data folder or in common data folder.",
                  fileName_);
      return(INIT_PARAMETERS_INCORRECT);
   }

   // Selected set groups
   string strGroups[] = {"55,12,3,35,48,54,16,40",
                         "11,54,33,30,62,6,10,23",
                         "50,15,8,34,2,36,4,9",
                         "26,42,25,22,36,51,53,0"
                        };

   // Scaling factors for selected set groups
   double scales[] = {4.16,
                      3.40,
                      3.33,
                      2.76
                     };
                     
   // Set parameters in the money management class
   CMoney::DepoPart(expectedDrawdown_ / 10.0);
   CMoney::FixedBalance(fixedBalance_);

   // Create an EA handling virtual positions
   expert = new CVirtualAdvisor(magic_, "SimpleVolumes_OptGroupForwardCluster");

   CVirtualStrategyGroup *groups[ArraySize(strGroups)];

   FOREACH(strGroups, {
      // Form the string from the parameter set indices separated by commas
      string strIndexes = strGroups[i];

      // Turn the string into the array
      string indexes[];
      StringSplit(strIndexes, ',', indexes);

      // Create and fill the array of all strategy instances
      CVirtualStrategy *strategies[];

      FOREACH(indexes, {
         // Remove the cluster number from the parameter set string
         string param = CSVStringGet(params[StringToInteger(indexes[i])], 0, 11);
         // Add a strategy with a set of parameters with a given index
         APPEND(strategies, new CSimpleVolumesStrategy(param))
      });

      // Add the strategy to the next group of strategies
      groups[i] = new CVirtualStrategyGroup(strategies, scales[i]);
   });

   // Form and add the group of strategy groups to the EA
   expert.Add(CVirtualStrategyGroup(groups, scale_));

   return(INIT_SUCCEEDED);
}

응답함

1
개발자 1
등급
(28)
프로젝트
39
23%
중재
15
0% / 87%
기한 초과
4
10%
작업중
2
개발자 2
등급
(184)
프로젝트
317
24%
중재
23
35% / 13%
기한 초과
24
8%
무료
게재됨: 3 코드
3
개발자 3
등급
(144)
프로젝트
186
41%
중재
24
58% / 21%
기한 초과
13
7%
무료
4
개발자 4
등급
(295)
프로젝트
472
40%
중재
102
40% / 24%
기한 초과
78
17%
바쁜
게재됨: 2 코드
5
개발자 5
등급
(3)
프로젝트
6
17%
중재
0
기한 초과
3
50%
무료

프로젝트 정보

예산
50+ USD