mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 74

 
비탈리 무지첸코 :

휴일이기 때문에 견적이 없는지 확인하는 방법 또는 예를 들어 목요일에 견적이 진행되지 않는 이유는 서버가 거래 중에 정지되어 있기 때문입니다.

당신은 현지 시간 으로 휴일의 사실을 결정할 수 있습니다.

그러나 서버의 GMTOffset 계산은 OnTick에서만 이루어져야 합니다. 틱이 도착할 때까지 계산에 서버 시간을 사용하지 않습니다. 대부분의 경우 이것은 실제로 필요하지 않습니다.

최후의 수단으로 주말에 GMTOffset이 필요한 경우 사용자에게 메시지를 발행하고 가능하면 사용자에게 서버의 GMTOffset을 요청할 수 있습니다.

 
외환 기호의 GMTOffset은 거래 주의 마감/개시 시간에 따라 결정될 수 있습니다. 결국 , 이 이벤트의 현지 시간 은 알려져 있습니다.
 
이호르 헤라스코 :

현지 시간으로 쉬는 날의 사실을 알 수 있습니다.

그러나 서버의 GMTOffset 계산은 OnTick에서만 이루어져야 합니다. 틱이 도착할 때까지 계산에 서버 시간을 사용하지 않습니다. 대부분의 경우 이것은 실제로 필요하지 않습니다.

최후의 수단으로 주말에 GMTOffset이 필요한 경우 사용자에게 메시지를 발행하고 가능하면 사용자에게 서버의 GMTOffset을 요청할 수 있습니다.

fxsaber :
외환 기호의 GMTOffset은 거래 주의 마감/개시 시간에 따라 결정될 수 있습니다. 결국, 이 이벤트의 현지 시간은 알려져 있습니다.

토,일요일 서버시간은 모르고 마지막 견적접수시간만 알고있습니다. 서버가 작동하는 시간대도 알려져 있지 않습니다.

다음과 같이 서버의 현재 시간 을 표시하는 기능이 부족합니다. TimeServer (); 그러면 서버 시간이 마지막 견적 시간 보다 크다는 것을 항상 알 수 있습니다. 즉, 쉬는 날이거나 동결되었음을 의미합니다. GMTOffset은 우리를 구하지 않습니다.

추신: 이 질문은 외환 기호에만 관련된 것이 아닙니다.
 
비탈리 무지첸코 :

토,일요일 서버시간은 모르고 마지막 견적접수시간만 알고있습니다. 서버가 작동하는 시간대도 알려져 있지 않습니다.

외환의 경우 위에서 언급한 대로 해결됩니다.

 
비탈리 무지첸코 :

토요일과 일요일은 서버시간을 모릅니다

이를 위해 현지 시간이 알려져 있습니다.

, 우리는 마지막 견적을 받은 시간만 압니다. 서버가 작동하는 시간대도 알려져 있지 않습니다.

다음과 같이 서버의 현재 시간 을 표시하는 기능이 부족합니다. TimeServer (); 그러면 서버 시간이 마지막 견적 시간 보다 크다는 것을 항상 알 수 있습니다. 즉, 쉬는 날이거나 동결되었음을 의미합니다. GMTOffset은 우리를 구하지 않습니다.

현지 시간을 알면 추측할 필요조차 없습니다. 그것에 우리는 쉬는 날이 지금인지 아닌지를 결정합니다. 그리고 GMTOffset 서버를 알면 서버 시간을 계산할 수 있습니다. TimeServer() 함수가 편리할 것이라는 점에는 이의가 없습니다. 그러나 지금은 없어도 나갈 수 있습니다.

 
이호르 헤라스코 :

이를 위해 현지 시간이 알려져 있습니다.

현지 시간을 알면 추측할 필요도 없습니다. 그것에 우리는 쉬는 날이 지금인지 여부를 결정합니다. 그리고 GMTOffset 서버 를 알면 서버 시간을 계산할 수 있습니다. 나는 TimeServer() 함수가 편리할 것이라는 데 이의를 제기하지 않습니다. 그러나 지금은 없어도 나갈 수 있습니다.

서버 시간 이 아닙니다.

Документация по MQL5: Дата и время / TimeGMTOffset
Документация по MQL5: Дата и время / TimeGMTOffset
  • www.mql5.com
Возвращает текущую разницу между временем GMT и локальным временем компьютера в секундах с учетом перехода на зимнее или летнее время. Зависит от настроек времени на компьютере пользователя.
 
비탈리 무지첸코 :

서버 시간이 아닙니다.

TimeLocal()에 대해 이야기하고 있습니다. 당연히 TimeGMTOffset도 필요합니다. 동시에 틱이 있으면 문제 없이 ServerGMTOffset을 계산합니다. EA가 실제 틱을 하나 이상 수신했다면 TimeLocal()을 사용하여현재 서버 시간 을 계산할 수 있기 때문에 주말을 두려워하지 않습니다.

문제는 어드바이저가 틱 없이 작업을 시작했을 때 발생합니다. 이 경우 지금이 휴일인지 확인해야 합니다. 공휴일이면 서버의 실시간과 관련된 모든 계산은 주말이 끝날 때까지 미루어야 한다. 주말에 계산을 수행해야 하는 경우 사용자에게 ServerGMTOffset을 지정하도록 요청합니다. 이 데이터를 수신하고 TimeLocal() 및 TimeGMTOffset()을 사용하여 서버의 현재 시간을 얻습니다.

 
이호르 헤라스코 :

TimeLocal()에 대해 이야기하고 있습니다. 당연히 TimeGMTOffset도 필요합니다. 동시에 틱이 있으면 문제 없이 ServerGMTOffset을 계산합니다. EA가 실제 틱을 하나 이상 수신했다면 TimeLocal()을 사용하여현재 서버 시간 을 계산할 수 있기 때문에 주말을 두려워하지 않습니다.

문제는 어드바이저가 틱 없이 작업을 시작했을 때 발생합니다. 이 경우 지금이 휴일인지 확인해야 합니다. 공휴일이면 서버의 실시간과 관련된 모든 계산은 주말이 끝날 때까지 미루어야 한다. 주말에 계산을 수행해야 하는 경우 사용자에게 ServerGMTOffset을 지정하도록 요청합니다. 이 데이터를 수신하고 TimeLocal() 및 TimeGMTOffset()을 사용하여 서버의 현재 시간을 얻습니다.

정확히. "틱 없음" 동안 차트에 어드바이저를 걸어둡니다. 그것은 무엇이든 될 수 있으며 심지어 쉬는 날도 있습니다.

세션/시장이 종료되고 15분이 지나면 마지막 틱 시간이 15분 전입니다(EA는 이를 알지 못하지만 우리도 모릅니다). 하지만 서버는 몇 시에 작동합니까? 정말 15분 전, 또는 아마도 1시간 15분 또는 3시간 15분 전입니다. 뒤?

 
비탈리 무지첸코 :

정확히. "틱 없음" 동안 차트에 어드바이저를 걸어둡니다. 그것은 무엇이든 될 수 있으며 심지어 쉬는 날도 있습니다.

세션/시장이 종료되고 15분이 지나면 마지막 틱 시간이 15분 전입니다(EA는 이를 알지 못하지만 우리도 모릅니다). 하지만 서버는 몇 시에 작동합니까? 정말 15분 전, 또는 아마도 1시간 15분 또는 3시간 15분 전입니다. 뒤?

Vitaly는 시간대 가 1시간 이상 차이가 납니다. 더 정확하게는 1시간의 배수입니다. 따라서 차이가 1시간 이상이면 문제가 발생한 것입니다.

더 구체적으로 말하면 OnInit에서 로컬 시간과 서버 시간의 차이를 얻은 다음 현재 차이와 비교할 수 있습니다. 일반적으로 아마추어를 위한 옵션입니다.

 
알렉세이 빅토로프 :

Vitaly는 시간대가 1시간 이상 차이가 납니다. 더 정확하게는 1시간의 배수입니다. 따라서 차이가 1시간 이상이면 문제가 발생한 것입니다.

더 구체적으로 말하면 OnInit에서 로컬 시간과 서버 시간의 차이를 얻은 다음 현재 차이와 비교할 수 있습니다. 일반적으로 아마추어를 위한 옵션입니다.

나는 토요일에 어드바이저를 차트에 매달지만, 어드바이저는 예를 들어 Market Watch 23:58 및 내 지역 04:45에서 마지막 틱의 시간을 얻을 수 있습니다. 서버 시간 은 모르겠습니다.

질문: 서버(터미널) 시간의 마지막 틱 이후로 얼마나 많은 시간이 흘렀는지

사유: