Fehler, Irrtümer, Fragen - Seite 1808

 
fxsaber:
_TimeCurrent = MathMax(SymbolInfoInteger(Symbol1, SYMBOL_TIME), SymbolInfoInteger(Symbol2, SYMBOL_TIME), ...);
Es gibt wirklich nur so viel zu verteilen, wie man will. Durch Auswahl der längsten Zeit. Aber das ist ein zusätzlicher Aufwand, um bei jedem OnBookEvent() zwei Zeitwerte zu erhalten...
 
Alexey Kozitsyn:
Es gibt wirklich nur so viel zu verteilen, wie man will. Durch Auswahl der längsten Zeit. Aber es ist ein zusätzlicher Aufwand, zwei Zeitwerte bei jedem OnBookEvent() zu erhalten...
Emulation vonTimeTradeServer über GetMicrosecondCount. Oder fügen Sie die Differenz zwischen TimeTradeServer und TimeCurrent zu 99% von BookEvent hinzu.
 

Bewerbung bei der SR#1674783

Bitte entscheiden Sie sich so bald wie möglich!

 
fxsaber:
Emulation vonTimeTradeServer über GetMicrosecondCount. Entweder fügen Sie die Differenz zwischen TimeTradeServer und TimeCurrent in 99% des BookEvents ein.
Es werden immer noch mehrere Parameter angezeigt.
 
Alexey Kozitsyn:
Es geht immer noch darum, ein paar Parameter zu erhalten.
Es geht nicht um die Anzahl der Parameter, sondern um ihre Billigkeit insgesamt.
 
fxsaber:
Es geht nicht um die Anzahl der Parameter, sondern um ihre Billigkeit insgesamt.
Sie glauben also, dass TimeTradeServer() schneller sein wird als SymbolInfoInteger( _Symbol, SYMBOL_TIME )?
 
Alexey Kozitsyn:
Glauben Sie also, dass TimeTradeServer() schneller funktioniert als SymbolInfoInteger( _Symbol, SYMBOL_TIME )?

TimeTradeServer arbeitet mit GetMicrosecondCount, indem die entsprechende Differenz zu TimeCurrent addiert wird.

Ich weiß nicht, was du besorgen sollst. Aber Geld für Mikrosekunden zu sparen, erscheint mir nicht sinnvoll.

 
fxsaber:

TimeTradeServer arbeitet mit GetMicrosecondCount, indem die entsprechende Differenz zu TimeCurrent addiert wird.

Ich weiß nicht, was du besorgen sollst. Aber die Einsparung von Mikrosekunden erscheint mir nicht sinnvoll.

Ich muss den korrekten Wert der aktuellen Zeit ermitteln. Ich fordere von OnBookEvent() der aktuellen Zeit, um den Wert des Parameters gebunden an die Zeit zu schreiben. Und ich brauche die aktuelle Zeit, nicht die verstrichene Zeit, und möglichst ohne Krücken in Form von mehreren Zeitwerten mit der Auswahl des größten Wertes. TimeCurrent() soll diese Aufgabe übernehmen (gemäß der Beschreibung in der Dokumentation). Aber es hat sich herausgestellt, dass es das jetzt nicht mehr tut!
 
Alexey Kozitsyn:
Ich muss den korrekten Wert der aktuellen Uhrzeit ermitteln. Ich frage die aktuelle Zeit von OnBookEvent() ab, um den Wert des mit der Zeit verbundenen Parameters zu schreiben. Und ich brauche die aktuelle Zeit, nicht die vergangene Zeit, und zwar möglichst ohne die Krücken, mehrere Zeitwerte zu erhalten und den höchsten Wert auszuwählen. TimeCurrent() soll diese Aufgabe übernehmen (gemäß der Beschreibung in der Dokumentation). Aber es stellte sich heraus, dass das jetzt nicht mehr der Fall ist!
Ich habe es nicht überprüft.
datetime NewTimeCurrent( void )
{
  static ulong PrevStartTime = GetMicrosecondCount();
  static datetime PrevTimeCurrent = TimeCurrent(); // TimeTradeServer()
  
  const datetime NewTimeCurrent = TimeCurrent(); // TimeTradeServer()
  const ulong NowTime = GetMicrosecondCount();
  
  if (PrevTimeCurrent < NewTimeCurrent)  
  {
    PrevTimeCurrent = NewTimeCurrent;
    
    PrevStartTime = NowTime;
  }
  
  return(PrevTimeCurrent + (datetime)((NowTime - PrevStartTime) / 1000000));
}
Sie hätten sich genauer ausdrücken können. Sie könnten zum Beispiel alle Zeichen durchlaufen, indem Sie SymbolInfoTick (+ CopyTicks) abfragen. Kratzen Sie von dort die Zeit in Millisekunden ab. Ich verstehe nur nicht, welchen praktischen Nutzen das haben könnte.
 
fxsaber:
Durchlaufen Sie alle Symbole durch Abfrage von SymbolInfoTick (+ CopyTicks). Kratzen Sie von dort die Zeit in Millisekunden ab.
Ein Millisekunden-Analogon von TimeCurrent ist schon lange überfällig, mit seiner Widerspiegelung in der GUI.