MT5와 속도 - 페이지 43

 
Renat Fatkhullin :

벤치마크 스크립트 + 예제를 다운로드했습니다.

  1. 로컬 컴퓨터에서 - 10분 안에 비움

  2. 8분 만에 많은 터미널이 로드된 가상화된 VPS 호스트에서

  3. 8분 동안 많은 터미널이 로드된 물리적 VPS 호스트에서

고마워, 멋져 보인다!

테스트는 본격적인 터미널 2630에서 수행되었으며 작동하는 VPS 터미널은 몇 배나 적은 리소스를 소비하고 지연이 분명히 낮습니다.

VPS 서비스의 작업 호스트가 사용되었습니다.

예, 데스크톱 터미널의 욕구를 조절하려면 WinAPI를 통해 변태해야 합니다.

VPS를 오프로드하십시오 . 다른 사람이 좋은 조언이 있으면 알려주십시오.


개발자 여러분, 알고 거래를 위해 터미널을 최소 자원 소비 모드로 전환할 수 있습니다.

 
Renat Fatkhullin :

브로커의 서버 이름을 지정하십시오.

특정 브로커 서버에는 적용되지 않습니다.
이것은 제안된 서비스에서 핑 측정의 선택을 나타냅니다.
즉, 예를 들어 둘 다 LD4에 있지만 카드는 때때로 다른 브로커의 서버보다 더 먼 거리를 제공합니다.
비교를 위해 특정 서버의 이름을 지정하지 않겠습니다. 이 서버를 정렬할 때 이 기능을 발견했습니다.
일반적으로 독립적인 선택을 위해서는 모든 위치의 목록이 더 좋습니다.
하지만 지금은 AMPGlobalEU-Live와 미국 서버에 관심이 있습니다.

 
fxsaber :

고마워, 멋져 보인다!

예, 데스크톱 터미널의 욕구를 조절하려면 WinAPI를 통해 변태해야 합니다.

터미널은 자주 업데이트해야 하기 때문에 컴퓨터 게임보다 fps를 더 많이 만들기 때문에 비디오 카드가 가장 중요합니다. 특히 카드가 없는 vpsk에서는 전체 부하가 엉킨 프로세서에 가해집니다.

따라서 가상 머신에서 패널을 최소화하고 비활성화하여 올바른 일을 하고 있는 것입니다.

우리 서비스에서는 일반적으로 터미널 코드의 절반을 잘라내고 시각화를 완전히 제거했습니다. 터미널은 VPS 컨트롤러에 대한 실행 부속물이 되었으며 VPS 컨트롤러에서만 작동합니다.

따라서 리소스 요구 사항이 몇 배 더 낮습니다. 이 모든 것은 VPS 서비스에 대한 기사에 설명되어 있습니다.

 
Renat Fatkhullin :

터미널은 자주 업데이트해야 하기 때문에 컴퓨터 게임보다 fps를 더 많이 만들기 때문에 비디오 카드가 가장 중요합니다. 특히 카드가 없는 vpsk에서는 전체 부하가 엉킨 프로세서에 가해집니다.

따라서 가상 머신에서 패널을 최소화하고 비활성화하여 올바른 일을 하고 있는 것입니다.

우리 서비스에서는 일반적으로 터미널 코드의 절반을 잘라내고 시각화를 완전히 제거했습니다. 터미널은 VPS 컨트롤러에 대한 실행 부속물이 되었으며 VPS 컨트롤러에서만 작동합니다.

따라서 리소스 요구 사항이 몇 배 더 낮습니다. 이 모든 것은 VPS 서비스에 대한 기사에 설명되어 있습니다.

귀하의 VPS에 따르면 그러한 또 다른 질문이 발생했습니다.
vps의 mql 프로그램에서 소켓 작동에 제한이 있습니까?
즉, MQ API가 아닌 mql 프로그램에서 브로커의 OpenAPI 로 독립적으로 연결할 수 있는지 여부입니다.
또는 귀하의 vps는 브로커의 계정에 연결된 vps만 지원합니까?

 
Roman :

귀하의 VPS에 따르면 그러한 또 다른 질문이 발생했습니다.
vps의 mql 프로그램에서 소켓 작동에 제한이 있습니까?
즉, MQ API가 아닌 mql 프로그램에서 브로커의 OpenAPI 로 독립적으로 연결할 수 있는지 여부입니다.
아니면 귀하의 vps는 브로커의 계정에 연결된 vps만 지원합니까?

localhost/127.0.0.1에 대한 호출을 제외하고 소켓 작업에는 제한이 없습니다.

터미널에 설정된 권한은 상속됩니다.

 
Renat Fatkhullin :

터미널은 자주 업데이트해야 하기 때문에 컴퓨터 게임보다 fps를 더 많이 만들기 때문에 비디오 카드가 가장 중요합니다. 특히 카드가 없는 vpsk에서는 전체 부하가 엉킨 프로세서에 가해집니다.

그렇다면 fps를 낮추기 위해 20Hz에서 새로 고침을 스냅샷하지 않는 이유는 무엇입니까? Vizualka는 여전히 인간의 눈에만 필요합니다. 200fps인지 20fps인지 알 수 없습니다.

따라서 가상 머신에서 패널을 최소화하고 비활성화하여 올바른 일을 하고 있는 것입니다.

불행히도, 이 작업을 수행하려면 WinAPI가 필요합니다. 그리고 여전히 Market Watch 창과 Instruments 창을 닫는 방법을 배우지 못했습니다. WinAPI를 통해 수행하는 방법을 알려주세요.

시장 제품은 타사 VPS에서 완전히 제동이 걸립니다. 자동 최소화를 수행하지 마십시오. 마찬가지로 차트의 눈에서 숨겨진 것을 결정하십시오. 또한 브레이크 GetMicrosecondsCount를 밀리초 양자화가 있는 아날로그로 교체하지 마십시오. 16ms의 대략적인 GetTickCount가 부과되며 이는 거래 환경 스냅샷 메커니즘에 너무 많습니다.

글쎄, VPS 서비스를 마케팅하기 위해가 아니라 그렇게 제한합니까? 아마도 아직 관련이 없을 것입니다. 그러나 우리는 이미 측정 및 일부 목발 결정에 대해 이야기하고 있습니다.

우리 서비스에서는 일반적으로 터미널 코드의 절반을 잘라내고 시각화를 완전히 제거했습니다. 터미널은 VPS 컨트롤러에 대한 실행 부속 장치가 되었으며 VPS 컨트롤러에서만 작동합니다.

따라서 리소스 요구 사항이 몇 배 더 낮습니다. 이 모든 것은 VPS 서비스에 대한 기사에 설명되어 있습니다.

예, 데스크탑 터미널은 MQL 기회를 통해 소비 자원을 줄이는 알고리즘 거래에 더 가깝습니다.

Market Watch(스크리너)의 모든 기호에 대한 틱 기록을 요청하면 VPS 서비스가 각 기호에 대해 128K 틱을 캐시로 저장합니까?


아니요.

 bool CopyTicksClearCache( const string Symbol );
OnTick의 공백을 잊기 위해 큰 리소스 없이 마지막 틱만 요청할 수 있습니다.
 
Roman :

특정 브로커 서버에는 적용되지 않습니다.
이것은 제안된 서비스에서 핑 측정의 선택을 나타냅니다.
즉, 예를 들어 둘 다 LD4에 있지만 카드는 때때로 다른 브로커의 서버보다 더 먼 거리를 제공합니다.
비교를 위해 특정 서버의 이름을 지정하지 않겠습니다. 이 서버를 정렬할 때 이 기능을 발견했습니다.
일반적으로 자체 선택의 경우 모든 위치 목록이 더 좋습니다.
하지만 지금은 AMPGlobalEU-Live와 미국 서버에 관심이 있습니다.

LD4의 런던에 있는 MetaTrader 4 서버가 있는 AMPGlobalEU-Live는 1.73ms의 핑을 보여줍니다.


그러나 시카고에 있는 플랫폼의 물리적 코어가 있는 MetaTrader 5의 AMPGlobalEU-Live(사실 AMPGlobalUSA-Live로 찾는 것이 좋습니다)는 가장 가까운 서버가 뉴욕에 있기 때문에 실제로 19.53ms입니다.

나는 특별히 모든 포인트를 수동으로 스캔했습니다. 최소값은 19ms입니다.

우리는 앞으로 시카고에 서버를 설치하려고 노력할 것입니다. 손이 닿지 않았습니다.

 
Renat Fatkhullin :

LD4의 런던에 있는 MetaTrader 4 서버가 있는 AMPGlobalEU-Live는 1.73ms의 핑을 보여줍니다.


그러나 시카고에 있는 플랫폼의 물리적 코어가 있는 MetaTrader 5의 AMPGlobalEU-Live(사실 AMPGlobalUSA-Live로 찾는 것이 좋습니다)는 가장 가까운 서버가 뉴욕에 있기 때문에 실제로 19.53ms입니다.

나는 특별히 모든 포인트를 수동으로 스캔했습니다. 최소값은 19ms입니다.

우리는 앞으로 시카고에 서버를 설치하려고 노력할 것입니다. 손이 닿지 않았습니다.

저도 다 보고 분석해봤습니다))
시카고에 서버를 설치할 경우 거래소와 모든 제공업체가 위치한 오로라에 즉시 설치하세요.

 

터미널이 CPU를 100% 로드하여 아무 반응도 하지 않는 상황을 반복적으로 보았습니다.

그런 다음 로그를 보고 OnTick에 거친 틱 건너뛰기가 있음을 확인했습니다. 그러나 Expert Advisor를 올바르게 작성하면 그러한 끔찍한 상황이 거래 결과에 영향을 미치지 않는 것이 현실적입니다. 특별히 분석한 결과 모든 것이 명확합니다.

Market 제품의 지연을 처리하는 일반적인 메커니즘이 어떻게 되는지 궁금합니다. 나는 발사 기계의 힘에 대해 말하는 사람을 본 적이 없습니다. 최소 핑은 예입니다.

 
fxsaber :

그렇다면 fps를 낮추기 위해 20Hz에서 새로 고침을 스냅샷하지 않는 이유는 무엇입니까? Vizualka는 여전히 인간의 눈에만 필요합니다. 200fps인지 20fps인지 알 수 없습니다.

많은 사용자들이 비난을 받으며 달려올 것이기 때문입니다.

이것은 곧장입니다.

그러나 그렇게 할 때 실제로 작은 간격을 사용합니다.


불행히도, 이 작업을 수행하려면 WinAPI가 필요합니다. 그리고 여전히 Market Watch 창과 Instruments 창을 닫는 방법을 배우지 못했습니다. WinAPI를 통해 수행하는 방법을 알려주세요.

모든 창과 애플리케이션 자체를 최소화하는 MQL5 기능은 좋은 아이디어입니다. 해결해 봅시다.

그러나 동시에 사람이 VPS에서 스스로 터미널을 시작하면 여기에서 모든 것이 갑자기 줄어들 것이라는 사실에 강력하게 반대합니다. RDP 세션에서 나가면 그 자신이 창을 최소화할 수 있고 최소화해야 합니다.


시장 제품은 타사 VPS에서 완전히 제동이 걸립니다. 자동 최소화를 수행하지 마십시오. 마찬가지로 차트의 눈에서 숨겨진 것을 결정하십시오. 또한 GetMicrosecondsCount 브레이크를 밀리초 양자화가 있는 아날로그로 교체하지 마십시오. 16ms의 대략적인 GetTickCount가 부과되며 이는 거래 환경의 스냅샷 메커니즘에 너무 많습니다.

아무것도 이해하지 못한 것 같습니다.

이것은 GetMicrosecondsCount 속도를 늦추지 않지만 운영 체제는 교살된 vpsky의 스레드에 대한 CPU 리소스를 양자화합니다. 모든 기능, 모든 작업, VPS 내의 모든 프로그램.

글쎄, CPU 스케줄러는 각 복사본에 1500개의 실행 스레드가 있는 20개의(여전히 신성한) 운영 체제가 있을 때 리소스를 정직하게 자르고 배포할 수 없습니다. 8-16개의 코어를 20 * 1,500 = 30,000(물리적 스레드 3만 개)으로 나눕니다.


그러나 비교를 위해 97개의 활성 터미널이 있는 VPS 호스트: 단 3,333개의 스레드와 단 205개의 프로세스 - 시스템 오버헤드가 전혀 없습니다.


여기, 비교를 위해 지금 내 작업 컴퓨터가 있습니다. 브라우저, MT5 사본 한 개 및 저렴한 프로그램 몇 개 외에는 다른 것이 없습니다. 3,876개의 스레드가 작동 중입니다.



여러 터미널이 있는 VPS 호스트가 데스크톱보다 경제적으로 작동하는 것으로 나타났습니다. VPS에는 8개의 코어가 있고 데스크탑에는 128개의 코어가 있습니다.