MathMin

Funktion gibt kleineren von zwei numerischen Werten zurück.

double  MathMin(
   double  value1,     // erster Wert
   double  value2      // zweiter Wert
   );

Parameter

value1

[in]  Erster numerischer Wert.

value2

[in] Zweiter numerischer Wert.

Rückgabewert

Die kleinere der beiden Zahlen.

Hinweis

Statt der Funktion MathMin() kann die Funktion fmin() verwendet werden. Funktionen fmax(), fmin(), MathMax(), MathMin() können mit ganzzahligen Typen arbeiten, ohne sie in den Typ double umzuwandeln.

Wenn Werte verschiedener Typen der Funktion übergeben werden, wird der Wert des niedrigen Types automatisch in den des höheren konvertiert. Typ des Rückgabewertes entspricht dem höheren Typ.

Bei der Übergabe desselben Typs, wird keine Typenumwandlung durchgeführt.

 

Beispiel:

//--- Eingabeparameter
input uint  InpBars  =  100000;  // gewünschte Anzahl von Balken
 
//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Ermitteln der Anzahl der verfügbaren Balken auf dem Server
   uint bars_total = Bars(Symbol(),Period());
   if(bars_total==0)
     {
      PrintFormat("Data for timeseries %s %s not yet generated in the terminal. Please try again later.",Symbol(),StringSubstr(EnumToString(Period()),7));
      return;
     }
//--- Ermitteln der Mindestanzahl der Balken aus zwei Werten - aus den auf dem Server verfügbaren Werten und aus der in den Einstellungen angegebenen Anzahl
   int bars = (int)MathMin(bars_total,InpBars);
//--- wenn mehr Balken angefordert werden als auf dem Server verfügbar sind, wird dies im Journal gemeldet
   if(bars_total<InpBars)
      PrintFormat("Number of bars on the server (%u) is less than requested (%u)",bars_total,InpBars);
//--- Anzeige der Anzahl der für die Arbeit verfügbaren Balken im Journal
   Print("Bars available for work: ",bars);
  }