Discussion de l'article "Les bases de la programmation MQL5 : Temps" - page 4

 
Dennis Kirichenko:

J'ai besoin d'un analogue de TimeCurrent() avec une précision de l'ordre de la milliseconde, quelque chose comme TimeCurrentMsс().

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Marché fermé

fxsaber, 2017.09.22 09:45 AM

// Heure du dernier tic-tac de caractère
long GetSymbolTime( const string Symb )
{
  MqlTick Tick;
  
  return(SymbolInfoTick(Symb, Tick) ? Tick.time_msc : 0);
}

// Heure du dernier tick du Market Watch
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);
}

// Heure actuelle sur le serveur commercial sans tenir compte du ping
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()));
}

Pas parfait, bien sûr.

 

fxsaber, merci ! Comme toujours, vous avez raison. Respect

 
J'ai apprécié l'article et je l'ai trouvé utile, merci !
 
Où puis-je obtenir le temps des incateurs de bougie pour utiliser mt5 ?
 
Bonjour - Où puis-je trouver ces indicateurs pour MT$ ?
 

Existe-t-il un moyen de déterminer plus simplement si je veux qu'un EA fonctionne entre 8h et 14h, de manière optimisée ou à une certaine heure, par exemple 9h15 optimisée ?

 
En tant que novice dans le domaine de MQL5 et de la programmation, cela m'a donné quelques idées de techniques que je peux utiliser lorsque j'ai besoin de gérer tout ce qui est lié au temps dans mon premier Expert Advisor.