Discusión sobre el artículo "Fundamentos de programación en MQL5 - Tiempo" - página 4

 
Dennis Kirichenko:

Necesito un análogo de TimeCurrent() con precisión de milisegundos, algo como TimeCurrentMsс().

Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading

Mercado cerrado

fxsaber, 2017.09.22 09:45 AM

// Hora del último tick de carácter
long GetSymbolTime( const string Symb )
{
  MqlTick Tick;
  
  return(SymbolInfoTick(Symb, Tick) ? Tick.time_msc : 0);
}

// Hora del último tick de la Vigilancia del Mercado
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);
}

// Hora actual en el servidor comercial sin tener en cuenta el 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()));
}

No es perfecto, desde luego.

 

fxsaber, ¡gracias! Como siempre, has dado en el clavo. Respeto

 
Me ha gustado el artículo y me ha resultado útil, ¡gracias!
 
¿donde puedo conseguir tiempo para incadores de velas para usar mt5? por favor ayuda
 
Buenos días -- ¿Dónde puedo encontrar estos indicadores para MT$?
 

Alguna manera de determinar más simple si quiero que un EA funcione entre las 8 y las 14 hrs, optimizable o bien a una hora determinada ej a las 9hrs 15 min optimizable?

 
Como alguien nuevo tanto a MQL5 y programación esto me dio algunas ideas para las técnicas que puedo utilizar cuando tengo que manejar cualquier cosa relacionada con el tiempo en mi primer Asesor Experto.