SymbolInfoSessionTrade

Ruft Anfang und Ende der angegebenen Handelssitzung für das angegebene Symbol und Wochentag ab.

bool  SymbolInfoSessionTrade(
   string            name,                // Symbolname
   ENUM_DAY_OF_WEEK  day_of_week,         // Wochentag
   uint              session_index,       // Nummer der Handelssitzung
   datetime&         from,                // Anfang der Handelssitzung
   datetime&         to                   // Ende der Handelssitzung
   );

Parameter

name

[in]  Symbolname.

ENUM_DAY_OF_WEEK

[in]  Wochentag, ein Wert aus der Enumeration ENUM_DAY_OF_WEEK.

uint

[in] Ordnungszahl einer Sitzung, deren Anfangs- und Endzeit wir erhalten möchten. Die Indexierung der Handelssitzung beginnt mit 0.

from

[out]   Anfang der Handelssitzung in Sekunden von 00 Stunden 00 Minuten, im erhaltenen Wert muss das Datum ignoriert werden.

to

[out]  Ende der Handelssitzung in Sekunden von 00 Stunden 00 Minuten, im erhaltenen Wert muss das Datum ignoriert werden.

Rückgabewert

Wenn die Daten für die angegebene Handelssitzung, Symbol und Wochentag erhalten wurden, wird true zurückgegeben, anderenfalls false.

Beispiel:

#define SYMBOL_NAME   Symbol()
#define SESSION_INDEX 0
 
//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Ausdruck der Kopfzeile mit einem Symbol und dem SESSION_INDEX und
//--- die Ausgabe in einer Schleife von jedem Wochentag von Mo bis Fr und der Anfangs- und Endzeit der Handelssitzung im Journal ausgeben
   PrintFormat("Symbol %s, Trade session %d:"SYMBOL_NAMESESSION_INDEX);
   for(int i=MONDAYi<SATURDAYi++)
      SymbolInfoSessionTradePrint(SYMBOL_NAME, (ENUM_DAY_OF_WEEK)iSESSION_INDEX);
   /*
  Ergebnis:
   Symbol GBPUSDTrade session 0:
   - Monday     00:15 - 23:55
   - Tuesday    00:15 - 23:55
   - Wednesday  00:15 - 23:55
   - Thursday   00:15 - 23:55
   - Friday     00:15 - 23:55
   */
  }
//+------------------------------------------------------------------+
//| Sende die Start- und Endzeiten der angegebenen Handelssitzung    |
//| des angegebenen Symbols und Wochentags an das Journal            |
//+------------------------------------------------------------------+
void SymbolInfoSessionTradePrint(const string symbolconst ENUM_DAY_OF_WEEK day_of_weekconst uint session_index)
  {
//--- Deklarieren der Variablen, um den Beginn und das Ende der Handelssitzung aufzuzeichnen
   datetime date_from;  // Anfang der Sitzung
   datetime date_to;    // Ende der Sitzung
   
//--- Abrufen der Daten aus der Handelssitzung nach Symbol und Wochentag
   if(!SymbolInfoSessionTrade(symbolday_of_weeksession_indexdate_fromdate_to))
     {
      Print("SymbolInfoSessionTrade() failed. Error "GetLastError());
      return;
     }
     
//--- den Namen des Wochentags aus dem Enumerationswert erstellen
   string week_day=EnumToString(day_of_week);
   if(week_day.Lower())
      week_day.SetChar(0ushort(week_day.GetChar(0)-32));
 
//--- Daten für die angegebene Handelssitzung an das Journal senden
   PrintFormat("- %-10s %s - %s"week_dayTimeToString(date_fromTIME_MINUTES), TimeToString(date_toTIME_MINUTES));
  }

Siehe auch

Information über das Instrument, TimeToStruct, Datumstruktur