MQL5 Automatic optimization

 

Is there a way to automate the values, for example every month? I have used this code, but my code is complex and I would like to know if there is any way to do it directly. Thanks.

void OnTick() {
   int bars = iBars(_Symbol,PERIOD_MN1);  
   if(totalBars != bars) {
      totalBars = bars;
      PerformOptimization();
   }
}

void PerformOptimization() {
   double bestprofit = 0;
   for(int parameter1 = 3; parameter1 <=6; parameter1 += 1) {
      for(int parameter2 = 7; parameter2 <= 57; parameter2 += 5) {
         if(findEntryBuy(parameter1, parameter2)) {
            double entry = NormalizeDouble(findEntryBuy(parameter1, parameter2), _Digits);
            
            double profit = 0;
            bool calculateProfit = OrderCalcProfit(ORDER_TYPE_BUY,_Symbol,0.01,entry,entry+100*_Point,profit);
            if(profit > bestprofit) {
               bestprofit = profit;
               
               exempleintnumber1 = parameter1;
               exempleintnumber2 = parameter2;
               
            }
         }

         if(findEntrySell(parameter1, parameter2)) {
            double entry = NormalizeDouble(findEntrySell(parameter1, parameter2), _Digits);  
            double bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);   

            double profit = 0;
            bool calculateProfit = OrderCalcProfit(ORDER_TYPE_SELL,_Symbol,0.01,entry,entry-100*_Point,profit);
            if(profit > bestprofit) {
               bestprofit = profit;
               
               exempleintnumber1 = parameter1;
               exempleintnumber2 = parameter2;
               
            }
      
         }
      }
   }
}
 
Plattform starten - Für fortgeschrittene Nutzer - Die ersten Schritte - MetaTrader 5 Hilfe
  • www.metatrader5.com
Nach der Installation wird eine Programmgruppe erstellt und zum Startmenü hinzugefügt und eine Verknüpfung wird auf dem Desktop...
Reason: