Diskussion zum Artikel "Programmierungsgrundlagen für MQL5 Zeit" - Seite 4

 
Dennis Kirichenko:

Benötige ein Analogon von TimeCurrent() mit Millisekundengenauigkeit, so etwas wie TimeCurrentMsс().

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Markt geschlossen

fxsaber, 2017.09.22 09:45 AM

// Zeitpunkt des letzten Zeichen-Ticks
long GetSymbolTime( const string Symb )
{
  MqlTick Tick;
  
  return(SymbolInfoTick(Symb, Tick) ? Tick.time_msc : 0);
}

// Zeitpunkt des letzten Ticks der Marktbeobachtung
long GetMarketWatchTime( void )
{
  long Res = 0;
  
  for (int i = SymbolsTotal(true) - 1; i >= 0; i--)
  {
    const long TmpTime = GetSymbolTime(SymbolName(i, true));
    
    if (TmpTime > Res)
      Res = TmpTime;
  }
  
  return(Res);
}

// Aktuelle Zeit auf dem Handelsserver ohne Berücksichtigung des Pings
long GetCurrenTime( void )
{
  static ulong StartTime = GetMicrosecondCount();
  static long PrevTime = 0;
  
  const long TmpTime = GetMarketWatchTime();
  
  if (TmpTime > PrevTime)
  {
    PrevTime = TmpTime;
    
    StartTime = GetMicrosecondCount();
  }
  
  return(PrevTime + (long)((GetMicrosecondCount() - StartTime) / 1000));
}

void OnInit()
{
  MarketBookAdd(_Symbol);
}

void OnDeinit( const int )
{
  MarketBookRelease(_Symbol);
}

string TimeToString( const long Value )
{
  return((string)(datetime)(Value / 1000) + "." + (string)IntegerToString(Value % 1000, 3, '0'));
}

void OnBookEvent( const string& )
{
  Comment(TimeToString(GetCurrenTime()));
}

Nicht perfekt, natürlich.

 

fxsaber, ich danke Ihnen! Sie sind wie immer auf den Punkt. Hochachtung

 
Ich habe den Artikel genossen und fand ihn nützlich, danke!
 
Wo kann ich Zeit für Kerze incators zu verwenden mt5 bekommen? bitte helfen
 
Guten Tag -- Wo kann ich diese Indikatoren für MT$ finden?
 

Gibt es eine Möglichkeit, einfacher zu bestimmen, ob ich einen EA zwischen 8 und 14 Uhr laufen lassen möchte, optimierbar oder zu einer bestimmten Zeit, z.B. 9 Stunden 15 Minuten optimierbar?

 
Als jemand, der neu in MQL5 und in der Programmierung ist, hat mir dies einige Ideen für Techniken gegeben, die ich verwenden kann, wenn ich in meinem ersten Expert Advisor etwas in Bezug auf die Zeit verwalten muss.