요새. 실행 질문 - 페이지 5

 

파파클라스올리야키시 !

Renat이 존재를 확인한 후 이 중요한 주제에 대해 개인적인 서신을 시작한 이유는 전혀 명확하지 않습니다.

터미널에 대한 응답 전달 속도의 "부동" 오류.

또한 MQ가 전체 주문 실행 트래픽을 개선할 것이라고 약속했습니다.

그리고 일반적으로 외환 키친에서 무엇을 확인할 수 있습니까?

 
papaklass :

사실, 우리는 많은 유용한 정보를 게시했습니다:

- 서버 구성

- 네트워크 검사 방법(ping -t);

- olyakish 는 가상 서버 선택에 대한 작업을 게시했습니다.

하지만 필요하지 않은 것 같습니다.

외환에는 확인할 수 있는 것이 많이 있습니다. 그리고 증권거래소에 조작이 없다고 생각하신다면 공감합니다. :)

 
kond777 :

파파클라스올리야키시 !

Renat이 존재를 확인한 후 이 중요한 주제에 대해 개인적인 서신을 시작한 이유는 전혀 명확하지 않습니다.

터미널에 대한 응답 전달 속도의 "부동" 오류.

또한 MQ가 전체 주문 실행 트래픽을 개선할 것이라고 약속했습니다.

그리고 일반적으로 외환 키친에서 무엇을 확인할 수 있습니까?

 
RE       0        15 : 30 : 57.591     Trades   '871788' : market buy 0.03 EURUSD.e
JM       0        15 : 30 : 57.591     Trades   '871788' : market buy 0.04 USDJPY.e
EK       0        15 : 30 : 57.591     Trades   '871788' : market sell 0.03 EURJPY.e
JS       0        15 : 30 : 57.607     Trades   '871788' : order # 23947599 buy 0.03 / 0.03 EURUSD.e at 1.21874 done in 28 ms
CS       0        15 : 30 : 57.607     Trades   '871788' : deal # 16364222 buy 0.03 EURUSD.e at 1.21874 done (based on order # 23947599 )
KL       0        15 : 30 : 57.622     Trades   '871788' : order # 23947600 buy 0.04 / 0.04 USDJPY.e at 120.314 done in 44 ms
NF       0        15 : 30 : 57.622     Trades   '871788' : deal # 16364223 buy 0.04 USDJPY.e at 120.314 done (based on order # 23947600 )
GF       0        15 : 30 : 57.653     Trades   '871788' : order # 23947601 sell 0.03 / 0.03 EURJPY.e at 146.615 done in 74 ms
EF       0        15 : 30 : 57.653     Trades   '871788' : deal # 16364224 sell 0.03 EURJPY.e at 146.615 done (based on order # 23947601 )
NM       0        15 : 31 : 56.771     Trades   '871788' : market buy 0.03 EURUSD.e
FD       0        15 : 31 : 56.771     Trades   '871788' : market buy 0.04 USDJPY.e
IS       0        15 : 31 : 56.771     Trades   '871788' : market sell 0.03 EURJPY.e
LK       0        15 : 31 : 56.803     Trades   '871788' : order # 23947606 buy 0.03 / 0.03 EURUSD.e at 1.21877 done in 33 ms
RJ       0        15 : 31 : 56.803     Trades   '871788' : deal # 16364229 buy 0.03 EURUSD.e at 1.21877 done (based on order # 23947606 )
PE       0        15 : 31 : 56.834     Trades   '871788' : order # 23947607 buy 0.04 / 0.04 USDJPY.e at 120.315 done in 64 ms
CO       0        15 : 31 : 56.834     Trades   '871788' : order # 23947608 sell 0.03 / 0.03 EURJPY.e at 146.619 done in 63 ms
OR       0        15 : 31 : 56.834     Trades   '871788' : deal # 16364230 buy 0.04 USDJPY.e at 120.315 done (based on order # 23947607 )
GO       0        15 : 31 : 56.834     Trades   '871788' : deal # 16364231 sell 0.03 EURJPY.e at 146.619 done (based on order # 23947608 )
ED       0        15 : 33 : 00.526     Trades   '871788' : market buy 0.03 EURUSD.e
ML       0        15 : 33 : 00.526     Trades   '871788' : market buy 0.04 USDJPY.e
RH       0        15 : 33 : 00.526     Trades   '871788' : market sell 0.03 EURJPY.e
DP       0        15 : 33 : 00.526     Trades   '871788' : order # 23947612 buy 0.03 / 0.03 EURUSD.e at 1.21878 done in 10 ms
OO       0        15 : 33 : 00.526     Trades   '871788' : order # 23947613 buy 0.04 / 0.04 USDJPY.e at 120.315 done in 10 ms
OG       0        15 : 33 : 00.526     Trades   '871788' : deal # 16364236 buy 0.03 EURUSD.e at 1.21878 done (based on order # 23947612 )
NE       0        15 : 33 : 00.526     Trades   '871788' : deal # 16364237 buy 0.04 USDJPY.e at 120.315 done (based on order # 23947613 )
LI       0        15 : 33 : 00.558     Trades   '871788' : order # 23947614 sell 0.03 / 0.03 EURJPY.e at 146.612 done in 40 ms
HG       0        15 : 33 : 00.558     Trades   '871788' : deal # 16364238 sell 0.03 EURJPY.e at 146.612 done (based on order # 23947614 )

다음은 .NET API의 실제 LMAX입니다.

핑 8ms로 뉴스 12ms 실행(고주파 타이머를 사용하여 측정)

참고용인거 같아요

 
olyakish :

다음은 .NET API의 실제 LMAX입니다.

핑 8ms로 뉴스 12ms 실행(고주파 타이머를 사용하여 측정)

참고용인거 같아요

 
papaklass :

마지막 배치에서는 1(!!!)ms 이내에 주문을 보내고 서버 응답을 받습니다. 그리고 로그 로그에는 서버에서 10ms의 주문 처리 시간이 표시됩니다. 불가사의. :)

질문이 생깁니다.

터미널 로그에 게시된 시간을 신뢰할 수 있습니까?

현재 로그의 시간 정확도는 시스템 타이머 의 해상도에 따라 다릅니다. 이 경우 약 16ms일 가능성이 높습니다(clockres 유틸리티로 확인할 수 있음). 우리는 또한 이 문제에 대해 작업하고 있으며 잡지가 완성될 것입니다.
 
papaklass :

마지막 배치에서는 1(!!!)ms 이내에 주문을 보내고 서버 응답을 받습니다. 그리고 로그 로그에는 서버에서 10ms의 주문 처리 시간이 표시됩니다. 불가사의. :)

질문이 생깁니다.

터미널 로그에 게시된 시간을 신뢰할 수 있습니까?

이것들은 정확히 불연속적인 16ms일 가능성이 큽니다.

 15 : 33 : 00.526 

하지만 이것들이 아마도 더 정확할 것입니다

done in 10 ms
 
olyakish :

다음은 .NET API의 실제 LMAX입니다.

핑 8ms로 뉴스 12ms 실행(고주파 타이머를 사용하여 측정)

참고용인거 같아요

자스코크 :

투명하고 투명하게 합시다. 대기 시간에서 노드 간 모든 핑을 뺀 값에 대해 설명합니다.

그들은 자라면서 나에게 HFT 별명을 보여 주었습니다. 교환 대기 시간 ~ 1ms. 나는 기술자가 아니며 그들이 어떻게하는지 말할 수 없습니다.

마찬가지로 LMAX 대기 시간에서 ~ 2-3ms.

다시 한 번 반복합니다. 우리는 소매 대기 시간에서 모든 핑을 뺀 값에 대해 이야기하고 있습니다.

MT5 인프라는 거래소에 직접 연결됩니다. 또는 당신이 말했듯이, 그것은 단지 "파이프"입니다. HFT 닉네임은 위에서 쓴 것처럼 파이프를 연결하고 결과를 얻습니다.

MT5 파이프를 연결하면 훨씬 더 많은 시간 비용이 발생합니다. 이유는 무엇입니까?

레나트 :

청결을 위해서가 아니라 전문적인 수준의 지식이 필요합니다.

olyakish , 당신은 충분한 전문 지식을 가지고 있다고 확신합니까?
 
papaklass :

빌드 1036.

그것을 처리하는 방법? 성능 차이가 어마어마합니다.

서버에서 실행의 안정성을 얻을 수 있습니까?

추신: 고주파 플랫폼으로서의 MT 광고는 왠지 부적절해 보입니다. :(


파파클라스 !

너무 스트레스 받을 필요 없어요!

당신은 심지어 메시지를 읽는 것을 귀찮게하지 않습니다!

그리고 어리석게 게시물을 조각하십시오!

이제 그만할 때가 되지 않았습니까?

워크피플!!!!

 
papaklass :
내가 읽었어야 할 메시지를 보여주시겠습니까?

Renata 인용:

오늘날 서버 1035는 이미 Otkritie에서 작동하고 있습니다.

모스크바에서 VPS를 사용한 주문 실행 시간이 어떻게 변경되었는지는 다음과 같습니다(동일한 컴퓨터, 동일한 실제 계정 ).

 2014.12 . 18 билд 1010 сервера
2014.12 . 18 10 : 22 : 33.885 Trades   'XXXXXX' : buy limit 1.00 Si- 3.15 at 64638 placed for execution in 72 ms
2014.12 . 18 10 : 35 : 05.309 Trades   'XXXXXX' : exchange buy 1.00 Si- 3.15 at market placed for execution in 94 ms
2014.12 . 18 10 : 35 : 18.937 Trades   'XXXXXX' : exchange sell 1.00 Si- 3.15 at market placed for execution in 148 ms

2014.12 . 24 билд 1035    
2014.12 . 24 16 : 06 : 14.726 Trades   'XXXXXX' : sell limit 1.00 Si- 3.15 at 58837 placed for execution in 33 ms
2014.12 . 24 16 : 08 : 32.755 Trades   'XXXXXX' : exchange sell 1.00 Si- 3.15 at market placed for execution in 24 ms
2014.12 . 24 16 : 08 : 46.841 Trades   'XXXXXX' : exchange buy 1.00 Si- 3.15 at market placed for execution in 26 ms

약속한 대로 주문 처리 속도 특성에 질적(다중) 개선이 있습니다.

때때로 터미널에 대한 응답 전달의 부동 시간이 아직 차단되지 않은 경우 이 작업을 계속할 것입니다.

-------------------------------------------------- ------

내부적으로 고려하는 이유는 무엇입니까?

1) OnTradeTransaction에서 주문에 대해 얼마나 많은 중간 상태를 얻었는지 확인합니다.

각 거래 트랜잭션은 하나의 패킷(요청-응답)이 아니라 여러 알림입니다. 이는 터미널이 항상 주문이 어느 단계에 있는지 알 수 있도록 하기 위한 것입니다(예: 실행 시간이 오래 걸릴 수 있음).

이제 우리는 상태에 대한 모든 중간 알림을 비활성화하고 스키마를 간단한 형식으로 변환하는 별도의 기능을 MQL5에 포함할 가능성에 대해 생각하고 있습니다. 이것은 실행 속도를 높일 수 있습니다.

2) 거래소와 통신의 두 번째 측면과 실행 속도의 가변성을 완전히 놓칩니다. 분명히 0이 있다고 생각합니다. 그러나 속도에 대한 보장은 없습니다.


생각보다 10배는 더 많은 것 같습니다.

물 위에 튀어나온 석류 조각을 보고 속일 필요가 없습니다.

나는 우리가 실제로 속도를 2배 향상시킨 것이 아니라 20-30ms 정도 빨라졌다는 것을 분명히 할 것입니다. 2는 2배가 아니라 1배만 1보다 큽니다. 이것은 낮은 기본 효과일 뿐입니다.


어쨌든 우리는 계속 노력하고 더 나은 결과를 얻습니다.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
사유: