많은 노력을 기울였습니다. 제안하는 방법은 ping 값을 고려한 것이기 때문에 의문점이 있다.
TERMINAL_PING_LAST 식별자가 있는 요청 시 터미널은 (MQL 문서에 따라) " 마이크로초 단위로 거래 서버에 대해 마지막으로 알려진 핑 값"을 제공합니다.
그것은 무엇이며, 그 가치는 안정적이며 얼마나 큽니까? 수년 동안 나는 로그 파일에서 이 특성을 보아왔지만 이제 터미널의 바로 서버 목록에서 핑을 볼 수 있습니다. 그리고 매우 안정적입니다. 그것은 무엇입니까?
내가 생각할 수있는 옵션은 두 가지뿐입니다.
1. 라우터가 ICMP 네트워크 프로토콜을 통해 얻은 IP 패킷의 경로를 분석하는 데 사용하는 네트워크 특성이며 실제로 하드웨어 신호 전달만 고려합니다. 클라이언트 컴퓨터와 서버 간의 핑을 측정하는 특정 경우에는 네트워크 카드 사이를 오가는 것을 의미합니다. 이 프로토콜을 사용하는 패킷은 일반적으로 애플리케이션에 도달하지 않습니다. 이것은 필요하지 않습니다 https://ru.wikipedia.org/wiki/ICMP .
2. 이것은 서버의 애플리케이션에서 클라이언트의 애플리케이션으로의 신호 전송 시간의 2배입니다.
ICMP Название: Уровень (по модели OSI): Семейство: Спецификация: ICMP (англ. — протокол межсетевых управляющих сообщений[1]) — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга...
많은 노력을 기울였습니다. 제안하는 방법은 ping 값을 고려한 것이기 때문에 의문점이 있다.
TERMINAL_PING_LAST 식별자가 있는 요청 시 터미널은 (MQL 문서에 따라) " 마이크로초 단위로 거래 서버에 대해 마지막으로 알려진 핑 값"을 제공합니다.
그것은 무엇이며, 그 가치는 안정적이며 얼마나 큽니까? 수년 동안 나는 로그 파일에서 이 특성을 보아왔지만 이제 터미널의 바로 서버 목록에서 핑을 볼 수 있습니다. 그리고 매우 안정적입니다. 그것은 무엇입니까?
내가 생각할 수있는 옵션은 두 가지뿐입니다.
1. 라우터가 ICMP 네트워크 프로토콜을 통해 얻은 IP 패킷의 경로를 분석하는 데 사용하는 네트워크 특성이며 실제로 하드웨어 신호 전달만 고려합니다. 클라이언트 컴퓨터와 서버 간의 핑을 측정하는 특정 경우에는 네트워크 카드 사이를 오가는 것을 의미합니다. 이 프로토콜을 사용하는 패킷은 일반적으로 애플리케이션에 도달하지 않습니다. 이것은 필요하지 않습니다 https://ru.wikipedia.org/wiki/ICMP .
2. 이것은 서버의 애플리케이션에서 클라이언트의 애플리케이션으로의 신호 전송 시간의 2배입니다.
누군가 말해?
개발자만이 이 질문에 확실히 답할 수 있습니다.
나는 두 번째 옵션에 의존했다
> 이는 서버의 애플리케이션에서 클라이언트의 애플리케이션까지의 신호 이동 시간의 2배입니다.
2017.01 . 3010 : 00 : 00.000 Time_symc_forts (URKA- 3.17 ,H1) Local time sync is done. Symbol = Si- 3.17 Sync hour = 10 Sync min = 0 Sync sec = 0 Sync ms = 0 2017.01 . 3014 : 05 : 00.002 Time_symc_forts (URKA- 3.17 ,H1) Local time sync is done. Symbol = Si- 3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 2 2017.01 . 3019 : 00 : 00.003 Time_symc_forts (URKA- 3.17 ,H1) Local time sync is done. Symbol = Si- 3.17 Sync hour = 19 Sync min = 0 Sync sec = 0 Sync ms = 3
추가됨
경매가 19-05에 시작될 때까지 기다려야 합니다.
추가됨
세르게이를 위해
https://www.mql5.com/ru/forum/166646
재미를 위해 어렵지 않다면 켜십시오. 시간이 얼마나 정확하게 동기화되는지 봅시다.
//+------------------------------------------------------------------+ //| Delta Time Server.mq5 | //+------------------------------------------------------------------+ struct _SYSTEMTIME { short year; short mon; short day_of_week; short day; short hour; short min; short sec; short msc; };
BCS에서 실제 돈을 열기 위한 지침을 여기에 던져주세요.
매번 비비지 않기 위해 프로필 에 올렸습니다.
Alexey Kozitsyn :
이미 만들어주셔서 감사합니다Спасиб
나는 서신을 만들고 차이가 있지만 중요하지 않습니다.
제 생각에는 히스토리에 오더 틱을 기록하는 기능이 제대로 작동하지 않습니다(트랜잭션에서는 모든 것이 정상입니다).
300줄 만들어서 비교파일 올리겠습니다.
추가됨
내가 틀렸는지 확인
10-00 및 14-05에 정확히 작동했습니다.
2017.01 . 26 14 : 05 : 00.005 Time_sync_forts (URKA- 3.17 ,H1) Local time sync is done. Symbol = RTS- 3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 5
추가됨
3개월 동안 모든 것이 자동으로 발생하도록 BR을 제거하겠습니다. :)
그게 다야
오전 세션과 두 번의 청소 후 모두.
많은 노력을 기울였습니다. 제안하는 방법은 ping 값을 고려한 것이기 때문에 의문점이 있다.
TERMINAL_PING_LAST 식별자가 있는 요청 시 터미널은 (MQL 문서에 따라) " 마이크로초 단위로 거래 서버에 대해 마지막으로 알려진 핑 값"을 제공합니다.
그것은 무엇이며, 그 가치는 안정적이며 얼마나 큽니까? 수년 동안 나는 로그 파일에서 이 특성을 보아왔지만 이제 터미널의 바로 서버 목록에서 핑을 볼 수 있습니다. 그리고 매우 안정적입니다. 그것은 무엇입니까?
내가 생각할 수있는 옵션은 두 가지뿐입니다.
1. 라우터가 ICMP 네트워크 프로토콜을 통해 얻은 IP 패킷의 경로를 분석하는 데 사용하는 네트워크 특성이며 실제로 하드웨어 신호 전달만 고려합니다. 클라이언트 컴퓨터와 서버 간의 핑을 측정하는 특정 경우에는 네트워크 카드 사이를 오가는 것을 의미합니다. 이 프로토콜을 사용하는 패킷은 일반적으로 애플리케이션에 도달하지 않습니다. 이것은 필요하지 않습니다 https://ru.wikipedia.org/wiki/ICMP .
2. 이것은 서버의 애플리케이션에서 클라이언트의 애플리케이션으로의 신호 전송 시간의 2배입니다.
누군가 말해?
많은 노력을 기울였습니다. 제안하는 방법은 ping 값을 고려한 것이기 때문에 의문점이 있다.
TERMINAL_PING_LAST 식별자가 있는 요청 시 터미널은 (MQL 문서에 따라) " 마이크로초 단위로 거래 서버에 대해 마지막으로 알려진 핑 값"을 제공합니다.
그것은 무엇이며, 그 가치는 안정적이며 얼마나 큽니까? 수년 동안 나는 로그 파일에서 이 특성을 보아왔지만 이제 터미널의 바로 서버 목록에서 핑을 볼 수 있습니다. 그리고 매우 안정적입니다. 그것은 무엇입니까?
내가 생각할 수있는 옵션은 두 가지뿐입니다.
1. 라우터가 ICMP 네트워크 프로토콜을 통해 얻은 IP 패킷의 경로를 분석하는 데 사용하는 네트워크 특성이며 실제로 하드웨어 신호 전달만 고려합니다. 클라이언트 컴퓨터와 서버 간의 핑을 측정하는 특정 경우에는 네트워크 카드 사이를 오가는 것을 의미합니다. 이 프로토콜을 사용하는 패킷은 일반적으로 애플리케이션에 도달하지 않습니다. 이것은 필요하지 않습니다 https://ru.wikipedia.org/wiki/ICMP .
2. 이것은 서버의 애플리케이션에서 클라이언트의 애플리케이션으로의 신호 전송 시간의 2배입니다.
누군가 말해?
개발자만이 이 질문에 확실히 답할 수 있습니다.
나는 두 번째 옵션에 의존했다
> 이는 서버의 애플리케이션에서 클라이언트의 애플리케이션까지의 신호 이동 시간의 2배입니다.
그게 다야
오전 세션과 두 번의 청소 후 모두.
모든 것이 "시계처럼" 작동합니다. :)
2017.01 . 30 14 : 05 : 00.002 Time_symc_forts (URKA- 3.17 ,H1) Local time sync is done. Symbol = Si- 3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 2
2017.01 . 30 19 : 00 : 00.003 Time_symc_forts (URKA- 3.17 ,H1) Local time sync is done. Symbol = Si- 3.17 Sync hour = 19 Sync min = 0 Sync sec = 0 Sync ms = 3
추가됨
경매가 19-05에 시작될 때까지 기다려야 합니다.
모든 것이 "시계처럼" 작동합니다. :)
2017.01 . 30 14 : 05 : 00.002 Time_symc_forts (URKA- 3.17 ,H1) Local time sync is done. Symbol = Si- 3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 2
2017.01 . 30 19 : 00 : 00.003 Time_symc_forts (URKA- 3.17 ,H1) Local time sync is done. Symbol = Si- 3.17 Sync hour = 19 Sync min = 0 Sync sec = 0 Sync ms = 3
추가됨
경매가 19-05에 시작될 때까지 기다려야 합니다.
추가됨
세르게이를 위해
https://www.mql5.com/ru/forum/166646
재미를 위해 어렵지 않다면 켜십시오. 시간이 얼마나 정확하게 동기화되는지 봅시다.
//| Delta Time Server.mq5 |
//+------------------------------------------------------------------+
struct _SYSTEMTIME
{
short year;
short mon;
short day_of_week;
short day;
short hour;
short min;
short sec;
short msc;
};
_SYSTEMTIME loc_time;
#import "kernel32.dll"
void GetLocalTime(_SYSTEMTIME &sys_time);
bool SetLocalTime(_SYSTEMTIME &sys_time);
#import
//---
MqlTick tick;
MqlDateTime sv_time;
int tick_msc,ping,time_server,time_local,delta= 0 ,mdelta[ 10 ],n= 0 ;
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
loc_time.year= 0 ;
GetLocalTime(loc_time);
if (loc_time.year> 0 )
{
if (! SymbolInfoTick ( _Symbol ,tick)) { Print ( "error SymbolInfoTick: " , GetLastError ()); return ; }
ping= TerminalInfoInteger ( TERMINAL_PING_LAST )/ 1000 ;
tick_msc= int (tick.time_msc% 1000 );
TimeToStruct (tick.time,sv_time);
time_server=(sv_time.sec+sv_time.min* 60 )* 1000 +tick_msc;
time_local=(loc_time.sec+loc_time.min* 60 )* 1000 +loc_time.msc;
delta=AvgDelta(time_server-time_local);
Print (
"ping : " ,ping,
" | time server: " ,sv_time.hour, ":" ,sv_time.min, ":" ,sv_time.sec, "," ,tick_msc,
" | time local: " ,loc_time.hour, ":" ,loc_time.min, ":" ,loc_time.sec, "," ,loc_time.msc,
" | delta ms: " ,delta,
" | min max delta: " ,mdelta[ ArrayMaximum (mdelta)], " : " ,mdelta[ ArrayMinimum (mdelta)],
"" );
}
}
//+------------------------------------------------------------------+
int AvgDelta( int d)
{
int avgd= 0 ;
mdelta[n]=d;
n++; if (n>= 10 ) n= 0 ;
for ( int i= 0 ;i< 10 ;i++) avgd+=mdelta[i];
return (avgd/ 10 );
}
//+------------------------------------------------------------------+