오류, 버그, 질문 - 페이지 1808

 
fxsaber :
_TimeCurrent = MathMax ( SymbolInfoInteger (Symbol1, SYMBOL_TIME ), SymbolInfoInteger (Symbol2, SYMBOL_TIME ), ...);
여기에서, 정말로, 지금까지는 돌아다닐 수 있는 유일한 방법입니다. 가장 긴 시간의 선택. 그러나 그것은 각 OnBookEvent()에서 두 개의 시간 값을 얻는 추가 비용입니다...
 
Alexey Kozitsyn :
여기에서, 정말로, 지금까지는 돌아다닐 수 있는 유일한 방법입니다. 가장 긴 시간의 선택. 그러나 그것은 각 OnBookEvent()에서 두 개의 시간 값을 얻는 추가 비용입니다...
GetMicrosecondCount를 통해 TimeTradeServer 를 에뮬레이션합니다. 또는 99% BookEvent에서 TimeTradeServer와 TimeCurrent의 차이를 추가하십시오.
 

SD #1674783 의 응용 프로그램

최대한 빨리 결정해주세요!

 
fxsaber :
GetMicrosecondCount를 통해 TimeTradeServer 를 에뮬레이션합니다. 또는 99% BookEvent에서 TimeTradeServer와 TimeCurrent의 차이를 추가하십시오.
여전히 여러 매개변수를 받고 있습니다.
 
Alexey Kozitsyn :
여전히 여러 매개변수를 받고 있습니다.
문제는 매개변수의 수가 아니라 총 가격에 있습니다.
 
fxsaber :
문제는 매개변수의 수가 아니라 총 가격에 있습니다.
저것들. TimeTradeServer() 가 SymbolInfoInteger( _Symbol, SYMBOL_TIME )보다 빠를 것이라고 생각하십니까?
 
Alexey Kozitsyn :
저것들. TimeTradeServer() 가 SymbolInfoInteger( _Symbol, SYMBOL_TIME )보다 빠를 것이라고 생각하십니까?

TimeTradeServer는 GetMicrosecondCount를 통해 TimeCurrent에 적절한 차이를 추가하여 작동합니다.

당신이 얻을 필요가 - 나는 모른다. 그러나 마이크로초 단위로 절약하는 것은 나에게 비효율적인 것 같습니다.

 
fxsaber :

TimeTradeServer는 GetMicrosecondCount를 통해 TimeCurrent에 적절한 차이를 추가하여 작동합니다.

당신이 얻을 필요가 - 나는 모른다. 그러나 마이크로초 단위로 절약하는 것은 나에게 비효율적인 것 같습니다.

현재 시간 의 올바른 값을 가져와야 합니다. 현재 시간의 OnBookEvent()에서 시간 제한 매개변수의 값을 쓰도록 요청하고 있습니다. 그리고 나는 과거가 아닌 현재 시간이 필요하며, 바람직하게는 가장 큰 값을 선택하여 여러 시간 값을 얻는 형태로 목발이 필요하지 않습니다. TimeCurrent()는 이론적으로(그리고 문서의 설명에 따라) 이 작업을 처리해야 합니다. 그러나 이제 그녀는 그렇지 않다는 것이 밝혀졌습니다!
 
Alexey Kozitsyn :
현재 시간 의 올바른 값을 가져와야 합니다. 현재 시간의 OnBookEvent()에서 시간 제한 매개변수의 값을 쓰도록 요청하고 있습니다. 그리고 나는 과거가 아닌 현재 시간이 필요하며, 바람직하게는 가장 큰 값을 선택하여 여러 시간 값을 얻는 형태로 목발이 필요하지 않습니다. TimeCurrent()는 이론적으로(그리고 문서의 설명에 따라) 이 작업을 처리해야 합니다. 그러나 이제 그녀는 그렇지 않다는 것이 밝혀졌습니다!
확인하지 않았다
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 ));
}
더 정확할 수도 있습니다. 예를 들어 SymbolInfoTick(+ CopyTicks) 요청을 통해 모든 기호를 살펴보십시오. 거기에서 시간을 밀리초 단위로 긁습니다. 나는 이것의 실제 적용이 무엇인지 이해하지 못합니다.
 
fxsaber :
SymbolInfoTick(+ CopyTicks) 요청을 통해 모든 기호를 실행합니다. 거기에서 시간을 밀리초 단위로 긁습니다.
TimeCurrent 의 일반 밀리초 아날로그는 GUI에 반영되어 이미 기한이 지났습니다.