Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 30.06.20
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard verstehe diesen Code nicht so ganz

Könnte mir bitte jemand helfen, diesen Code zu "übersetzen", es hakt da am Verständnis bei mir.
Code:
//global:
extern string TimeFrame="Current time frame";
bool   returnBars;
bool   calculateValue;

//Umwandlung:
string sTfTable[] = {"M1","M5","M15","M30","H1","H4","D1","W1","MN"};
int    iTfTable[] = {1,5,15,30,60,240,1440,10080,43200};
int stringToTimeFrame(string tfs)
{
   StringToUpper(tfs);
   for(int i=ArraySize(iTfTable)-1; i>=0; i--)
      if(tfs==sTfTable[i] || tfs==""+iTfTable[i])
         return(MathMax(iTfTable[i],Period()));
   return(Period());
}

//int init(): die ersten 3 Zeilen
returnBars     = (TimeFrame=="returnBars");     if(returnBars)     return(0);
calculateValue = (TimeFrame=="calculateValue"); if(calculateValue) return(0);
timeFrame      = stringToTimeFrame(TimeFrame);
Ich verstehe nicht, was diese Angaben "returnBars" und "CalculateValue" sollen, TimeFrame ist eine Benutzereingabe und keiner würde auf die Idee kommen, so was da rein zu schreiben, noch dazu wo der Vegleich == erfordert. Und was soll das return(0)? - der ganze Rest wie das Setzen von Buffern usw. wird weggelassen? Und wie kann dann stringToTimeFrame funktionieren?

Die Logik dahinter kapiere ich einfach nicht.
Kann jemand mir helfen? Danke. AVT