MT5와 속도 - 페이지 29

 
Andrey Khatimlianskii :

끊어진 연결 감지

방법을 모르겠습니다.

 
fxsaber :

방법을 모르겠습니다.

그리고 왜 그것들이 존재하고 OnTrade가 사라진다고 결정했습니까? 문서에서?

 
Andrey Khatimlianskii :

그리고 왜 그것들이 존재하고 OnTrade가 사라진다고 결정했습니까? 문서에서?

Relogin은 OnTrade 메커니즘을 통해 추가되는 기록 캐시를 재설정하기 때문입니다.

 
fxsaber :

방법을 모르겠습니다.

가능하면 MT5 인터틱 시간에서 벗어나십시오. 그리고 정기적 인 지원없이 DC의 주문과 관련된 거래 작업 으로 무언가가 발명되지 않았습니다.

 
Valeriy Yastremskiy :

가능하면 MT5 인터틱 시간에서 벗어나십시오. 그리고 정기적 인 지원없이 DC의 주문과 관련된 거래 작업 으로 무언가가 발명되지 않았습니다.

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

 
fxsaber :

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

예, 뭔가 잘못되었습니다. 단절로 인한 틱 건너뛰기에 대한 인터 틱 시간입니다. 그리고 요청과 주문에 대한 응답의 정확성, 거래, 포지션 현황과 관련하여 연결 끊김 및 지연으로 인해 답변이 생략되거나 변경되면 이로 인해 저렴한 솔루션이 분명히 없을 것입니다. 다음 틱에서의 재조회는 항상 옵션이 아닙니다.

저에게 솔루션은 포지션 개설, 수정, 부분 청산, 완전 청산 주문과 관련된 거래/ 포지션 의 상태를 추적하는 일반 기능입니다. 결과 추적 요청은 주문 자체에서 설정할 수 있습니다. 그리고 다음 틱이 아니라 현재 틱에서 결과를 얻습니다.

 
fxsaber :

말해봐, 거래하는 동안 이런 일이 발생하지 않으려면 어떻게 하는 것이 가장 좋을까?

 2020.09 . 15 22 : 17 : 04.633 Alert : Time[NewTicks.mqh 33 : :: SymbolInfoTick ( _Symbol ,Tick)] = 13 ms.
2020.09 . 15 22 : 17 : 04.638 Alert : Time[NewTicks.mqh 33 : :: SymbolInfoTick ( _Symbol ,Tick)] = 18 ms.
2020.09 . 15 22 : 17 : 04.640 Alert : Time[NewTicks.mqh 33 : :: SymbolInfoTick ( _Symbol ,Tick)] = 20 ms.

시간 로그 항목으로 판단하면 모든 것이 7ms 동안 발생했습니다.

건설적인 토론을 원한다면 모든 테스트 조건(서버, 계정 유형, 선택한 기호 수, 전문가 수 등)을 모두 제공하십시오.


SymbolInfoTick 실행 시간 측정 코드:

 void OnTick ()
  {
   MqlTick Tick;
//---
   ulong start,end,max_time= 0 ,avr_time= 0 ;
   int    count= 1000 ;
   for ( int i= 0 ; i<count; i++)
     {
      start= GetMicrosecondCount ();
       SymbolInfoTick ( _Symbol , Tick);
      end= GetMicrosecondCount ()-start;
       //---
       if (end>max_time)
         max_time=end;
      avr_time+=end;
     }
   Print ( "SymbolInfoTick max time: " , DoubleToString (max_time/ 1000.0 , 3 ), " ms; avr time: " , DoubleToString (avr_time/ 1000.0 /count, 3 ), " ms; " ,count, " iterations" );
  }

MetaQuotes-Demo 서버(20개의 기호 선택, Netting, 4개의 열린 위치 ):

 2020.09 . 16 12 : 34 : 22.429 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.017 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 27.148 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.022 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 27.456 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.002 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 27.751 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.021 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 28.145 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.003 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 28.652 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.002 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 30.051 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.020 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 30.259 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.019 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 30.861 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.019 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 31.159 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.020 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 32.376 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.002 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 32.658 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.017 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 34 : 34.867 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.017 ms; avr time: 0.000 ms; 1000 iterations

131개의 심볼 선택, 10개의 오픈 포지션:

 2020.09 . 16 12 : 44 : 50.554 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.003 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 44 : 52.337 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.019 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 44 : 54.960 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.019 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 44 : 55.587 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.020 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 44 : 55.863 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.016 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 44 : 56.187 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.002 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 44 : 56.958 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.018 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 44 : 59.989 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.003 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 45 : 00.298 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.021 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 45 : 07.609 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.024 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 45 : 07.891 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.017 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 45 : 08.790 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.019 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 45 : 09.617 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.019 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 45 : 09.933 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.002 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 45 : 11.841 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.002 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 45 : 13.416 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.022 ms; avr time: 0.000 ms; 1000 iterations
2020.09 . 16 12 : 45 : 13.709 SymbolInfoTick (EURUSD,H1)       SymbolInfoTick max time: 0.017 ms; avr time: 0.000 ms; 1000 iterations
Windows 10 build 18363 , Intel Xeon  E5- 2630 v4 @ 2.20 GHz, 52 / 63 Gb memory
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Anton :

로그 항목의 시간으로 판단하면 모든 것이 7ms 동안 발생했습니다.

이들은 세 가지 다른 고문이 발행되었습니다.

건설적인 토론을 원한다면 모든 테스트 조건(서버, 계정 유형, 선택한 기호 수, 전문가 수 등)을 모두 제공하십시오.

실제 계정 , RannForex-Server, 16개의 기호, 각각에 대해 M1 차트가 열려 있습니다(최대 5000개 막대). 각각에 대해 자체 기호만 참조하는 Expert Advisor가 실행됩니다.

한 순간에 약 50개의 포지션과 같은 수의 주문이 있을 수 있습니다. 표시기는 없으며 CopyTicksRange(신선한 눈금) 및 SymbolInfoTick만 가격을 얻는 데 사용됩니다. 바에 접근할 수 없습니다.

 
fxsaber :

이들은 세 가지 다른 고문이 발행되었습니다.

실제 계정 , RannForex-Server, 16개의 기호, 각각에 대해 M1 차트가 열려 있습니다(최대 5000개 막대). 각각에 대해 자체 기호만 참조하는 Expert Advisor가 실행됩니다.

한 순간에 약 50개의 포지션과 같은 수의 주문이 있을 수 있습니다.

내가 올바르게 이해하면 어드바이저가 아니라 각 기호에 스트레스 테스터가 있습니다 . 이것은 상황을 완전히 바꿉니다. 그리고 초기 조건의 은폐를 보여줍니다.

즉, 8(4+HT) 코어 프로세서에서 논스톱 모드로 지연 없이 16개의 스레드(병렬로 +N 터미널 작업자 스레드)가 하나의 동기화된 기호 기본 개체로 나뉩니다. 틱이 지속적으로 기록되기 때문에 읽기/쓰기 잠금이 뒤섞입니다.

일반적으로 이러한 프로필에서 프로세서 및 스레드 스케줄러의 성능에 따라 각 스레드는 시간의 60%에서 80%까지 대기할 수 있습니다.

그리고 작업 유형에 관계없이.

 
Renat Fatkhullin :

내가 올바르게 이해하면 어드바이저가 아니라 각 기호에 스트레스 테스터가 있습니다 .

제대로 이해하지 못했습니다. 각 Expert Advisor는 독점적으로 거래되며(실제 틱에 대해 테스터에서 느려지지 않음) 다른 사람에게 의존하지 않습니다. 모든 거래 로직은 OnTick에서만 실행되며, 재귀 없이 글로벌 및 리소스 없이 거래 주문을 스팸하지 않습니다.

OnTrade*, OnBook - 사용되지 않습니다. 특정 키가 눌려진 경우 두 번째 타이머 및 OnChartEvent .


나는 스냅샷의 유능한 구현(귀하 또는 내 편에서)이 표준 환경 기능에 대한 호출 수를 크게 줄이는 데 도움이 될 것이라고 확신합니다. 따라서 지연이 크게 줄어 듭니다.

스냅샷 트릭이 올 거라고는 생각도 못했습니다. 문제를 연구하고 있기 때문에 MT5 Expert Advisor의 표준 구현은 불행히도 절름발이입니다.