Discussione sull’articolo "Forum sulla programmazione MQL5 Ora" - pagina 4

 
Dennis Kirichenko:

Ho bisogno di un analogo di TimeCurrent() con precisione al millisecondo, qualcosa come TimeCurrentMsс().

Forum sul trading, sui sistemi di trading automatico e sulla verifica delle strategie di trading

Mercato chiuso

fxsaber, 2017.09.22 09:45 AM

// Ora dell'ultimo tick del carattere
long GetSymbolTime( const string Symb )
{
  MqlTick Tick;
  
  return(SymbolInfoTick(Symb, Tick) ? Tick.time_msc : 0);
}

// Ora dell'ultimo tick del 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);
}

// Ora corrente sul server commerciale senza tenere conto del 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()));
}

Non è perfetto, ovviamente.

 

fxsaber, grazie! Come sempre sei in gamba. Rispetto

 
Ho apprezzato l'articolo e l'ho trovato utile, grazie!
 
dove posso trovare il tempo per l'incisione delle candele per usare mt5? per favore aiutami
 
Buongiorno -- Dove posso trovare questi indicatori per MT$?
 

C'è un modo per determinare in modo più semplice se voglio che un EA funzioni tra le 8 e le 14, in modo ottimizzato o ad un certo orario, ad esempio 9 ore e 15 minuti in modo ottimizzato?

 
Come nuovo sia a MQL5 che alla programmazione, questo mi ha dato alcune idee per le tecniche che posso utilizzare quando devo gestire qualsiasi cosa relativa al tempo nel mio primo Expert Advisor.