오류, 버그, 질문 - 페이지 2778

 
Alain Verleyen :

다른 터미널이지만 20개의 차트(다른 기호)가 동시에 시작되었습니다.

피크가 어디에서 오는지 AUDUSD를 확인했습니다.

2020.06.13 09:16:35.151 342152 (USDJPY, H1) 금액 = 240
2020.06.13 09:16:35.151 342152 (USDJPY, H1) 최소=38
2020.06.13 09:16:35.151 342152 (USDJPY, H1) 최대 = 2235
2020.06.13 09:16:35.151 342152 (USDJPY, H1) 평균=472
2020.06.13 09:16:35.151 342152 (CADCHF, H1) 금액 = 240
2020.06.13 09:16:35.151 342152 (CADCHF, H1) 최소=48
2020.06.13 09:16:35.151 342152 (CADCHF, H1) 최대=2323
2020.06.13 09:16:35.152 342152 (CADCHF, H1) 평균=606
2020.06.13 09:16:35.152 342152 (EURAUD, H1) 금액 = 240
2020.06.13 09:16:35.152 342152 (EURCHF, H1) 금액 = 240
2020.06.13 09:16:35.152 342152 (GBPCHF, H1) 금액=240
2020.06.13 09:16:35.152 342152 (EURCHF, H1) 최소 = 141
2020.06.13 09:16:35.152 342152 (EURGBP, H1) 금액 = 240
2020.06.13 09:16:35.152 342152 (CHFJPY, H1) 금액=240
2020.06.13 09:16:35.152 342152 (AUDJPY, H1) 금액=240
2020.06.13 09:16:35.152 342152 (AUDJPY, H1) 최소=47
2020.06.13 09:16:35.152 342152 (EURUSD, H1) 금액 = 240
2020.06.13 09:16:35.152 342152 (EURUSD, H1) 최소 = 23
2020.06.13 09:16:35.152 342152 (EURUSD, H1) 최대 = 2368
2020.06.13 09:16:35.152 342152 (AUDUSD, H1) 금액 = 240
2020.06.13 09:16:35.152 342152 (EURUSD, H1) 평균=607
2020.06.13 09:16:35.152 342152 (AUDUSD, H1) 최소=74
2020.06.13 09:16:35.152 342152 (GBPJPY, H1) 금액=240
2020.06.13 09:16:35.152 342152 (AUDNZD, H1) 금액=240
2020.06.13 09:16:35.152 342152 (USDCHF, H1) 금액 = 240
2020.06.13 09:16:35.152 342152 (AUDNZD, H1) 최소=122
2020.06.13 09:16:35.152 342152 (AUDCHF, H1) 금액=240
2020.06.13 09:16:35.152 342152 (AUDNZD, H1) 최대=2402
2020.06.13 09:16:35.152 342152 (AUDNZD, H1) 평균=660
2020.06.13 09:16:35.152 342152 (AUDCHF, H1) 최소=157
2020.06.13 09:16:35.152 342152 (AUDCHF, H1) 최대=2354
2020.06.13 09:16:35.152 342152 (AUDCHF, H1) 평균=663
2020.06.13 09:16:35.152 342152 (GBPCHF, H1) 최소=32
2020.06.13 09:16:35.152 342152 (GBPCHF, H1) 최대=2380
2020.06.13 09:16:35.152 342152 (GBPCHF, H1) 평균=616
2020.06.13 09:16:35.152 342152 (EURCHF, H1) 최대 = 2327
2020.06.13 09:16:35.152 342152 (EURCHF, H1) 평균=618
2020.06.13 09:16:35.152 342152 (EURGBP, H1) 최소 = 36
2020.06.13 09:16:35.152 342152 (EURGBP, H1) 최대 = 2233
2020.06.13 09:16:35.152 342152 (EURGBP, H1) 평균=503
2020.06.13 09:16:35.152 342152 (CHFJPY, H1) 최소=11
2020.06.13 09:16:35.152 342152 (CHFJPY, H1) 최대=2387
2020.06.13 09:16:35.152 342152 (CHFJPY, H1) 평균=657
2020.06.13 09:16:35.152 342152 (AUDJPY, H1) 최대=2292
2020.06.13 09:16:35.152 342152 (AUDJPY, H1) 평균=612
2020.06.13 09:16:35.152 342152 (EURNZD, H1) 금액 = 240
2020.06.13 09:16:35.152 342152 (EURNZD, H1) 최소=54
2020.06.13 09:16:35.152 342152 (EURNZD, H1) 최대=2361
2020.06.13 09:16:35.152 342152 (EURNZD, H1) 평균=612
2020.06.13 09:16:35.152 342152 (AUDCAD, H1) 금액=240
2020.06.13 09:16:35.152 342152 (AUDCAD, H1) 최소=121
2020.06.13 09:16:35.152 342152 (EURCAD, H1) 수량 = 240
2020.06.13 09:16:35.152 342152 (AUDCAD, H1) 최대=2328
2020.06.13 09:16:35.152 342152 (AUDCAD, H1) 평균=605
2020.06.13 09:16:35.152 342152 (AUDUSD, H1) 최대 = 2361
2020.06.13 09:16:35.152 342152 (AUDUSD, H1) 평균=611
2020.06.13 09:16:35.152 342152 (GBPJPY, H1) 최소=13
2020.06.13 09:16:35.152 342152 (GBPJPY, H1) 최대 = 2411
2020.06.13 09:16:35.152 342152 (GBPJPY, H1) 평균=661
2020.06.13 09:16:35.153 342152 (GBPUSD, H1) 금액 = 240
2020.06.13 09:16:35.153 342152 (GBPUSD, H1) 최소 = 113
2020.06.13 09:16:35.153 342152 (GBPUSD, H1) 최대 = 2362
2020.06.13 09:16:35.153 342152 (GBPUSD, H1) 평균 = 667
2020.06.13 09:16:35.153 342152 (USDCAD, H1) 금액=240
2020.06.13 09:16:35.153 342152 (USDCAD, H1) 최소=151
2020.06.13 09:16:35.153 342152 (USDCAD, H1) 최대=2386
2020.06.13 09:16:35.153 342152 (EURAUD, H1) 최소=35
2020.06.13 09:16:35.153 342152 (USDCAD, H1) 평균=671
2020.06.13 09:16:35.153 342152 (EURAUD, H1) 최대=2233
2020.06.13 09:16:35.153 342152 (EURAUD, H1) 평균=478
2020.06.13 09:16:35.153 342152 (EURJPY, H1) 금액 = 240
2020.06.13 09:16:35.153 342152 (EURJPY, H1) 최소=10
2020.06.13 09:16:35.153 342152 (EURCAD, H1) 최소=123
2020.06.13 09:16:35.153 342152 (EURCAD, H1) 최대=2384
2020.06.13 09:16:35.153 342152 (EURCAD, H1) 평균=658
2020.06.13 09:16:35.153 342152 (USDCHF, H1) 최소=32
2020.06.13 09:16:35.153 342152 (USDCHF, H1) 최대 = 2369
2020.06.13 09:16:35.153 342152 (USDCHF, H1) 평균=614
2020.06.13 09:16:35.153 342152 (EURJPY, H1) 최대 = 2344
2020.06.13 09:16:35.153 342152 (EURJPY, H1) 평균 = 658

그리고 그 때 정점이 옵니다.

2020.06.13 09:17:35.151 342152 (USDJPY, H1) 금액 = 480
2020.06.13 09:17:35.151 342152 (USDJPY, H1) 최소=38
2020.06.13 09:17:35.151 342152 (USDJPY, H1) 최대 = 17421
2020.06.13 09:17:35.151 342152 (USDJPY, H1) 평균=533
2020.06.13 09:17:35.151 342152 (EURAUD, H1) 금액 = 480
2020.06.13 09:17:35.151 342152 (EURAUD, H1) 최소=35
2020.06.13 09:17:35.151 342152 (EURAUD, H1) 최대 = 17406
2020.06.13 09:17:35.151 342152 (EURAUD, H1) 평균=518
2020.06.13 09:17:35.151 342152 (EURGBP, H1) 금액 = 480
2020.06.13 09:17:35.151 342152 (EURGBP, H1) 최소=36
2020.06.13 09:17:35.151 342152 (EURGBP, H1) 최대 = 17425
2020.06.13 09:17:35.151 342152 (EURGBP, H1) 평균 = 515
2020.06.13 09:17:35.151 342152 (EURUSD, H1) 금액 = 480
2020.06.13 09:17:35.151 342152 (EURUSD, H1) 최소=18
2020.06.13 09:17:35.151 342152 (EURUSD, H1) 최대 = 17366
2020.06.13 09:17:35.151 342152 (EURCHF, H1) 금액 = 480
2020.06.13 09:17:35.151 342152 (EURUSD, H1) 평균 = 618
2020.06.13 09:17:35.151 342152 (AUDCHF, H1) 금액=480
2020.06.13 09:17:35.151 342152 (USDCHF, H1) 금액 = 480
2020.06.13 09:17:35.151 342152 (AUDCHF, H1) 최소=126
2020.06.13 09:17:35.151 342152 (CADCHF, H1) 금액 = 480
2020.06.13 09:17:35.151 342152 (AUDCHF, H1) 최대=10477
2020.06.13 09:17:35.151 342152 (EURCAD, H1) 수량 = 480
2020.06.13 09:17:35.151 342152 (GBPUSD, H1) 금액 = 480
2020.06.13 09:17:35.152 342152 (EURCAD, H1) 최소=123
2020.06.13 09:17:35.152 342152 (GBPUSD, H1) 최소=112
2020.06.13 09:17:35.152 342152 (EURCAD, H1) 최대=10485
2020.06.13 09:17:35.152 342152 (EURCAD, H1) 평균=663
2020.06.13 09:17:35.152 342152 (GBPUSD, H1) 최대 = 10435
2020.06.13 09:17:35.152 342152 (GBPUSD, H1) 평균 = 661
2020.06.13 09:17:35.152 342152 (EURCHF, H1) 최소 = 71
2020.06.13 09:17:35.152 342152 (EURJPY, H1) 금액 = 480
2020.06.13 09:17:35.152 342152 (USDCAD, H1) 금액=480
2020.06.13 09:17:35.152 342152 (USDCAD, H1) 최소=54
2020.06.13 09:17:35.152 342152 (EURJPY, H1) 최소=10
2020.06.13 09:17:35.152 342152 (EURJPY, H1) 최대 = 10487
2020.06.13 09:17:35.152 342152 (EURJPY, H1) 평균 = 664
2020.06.13 09:17:35.152 342152 (EURNZD, H1) 금액 = 480
2020.06.13 09:17:35.152 342152 (EURNZD, H1) 최소=54
2020.06.13 09:17:35.152 342152 (EURNZD, H1) 최대 = 17426
2020.06.13 09:17:35.152 342152 (EURNZD, H1) 평균=620
2020.06.13 09:17:35.152 342152 (USDCHF, H1) 최소=32
2020.06.13 09:17:35.152 342152 (USDCHF, H1) 최대 = 17427
2020.06.13 09:17:35.152 342152 (USDCHF, H1) 평균 = 649
2020.06.13 09:17:35.152 342152 (GBPCHF, H1) 금액=480
2020.06.13 09:17:35.152 342152 (GBPCHF, H1) 최소=32
2020.06.13 09:17:35.152 342152 (GBPCHF, H1) 최대=17433
2020.06.13 09:17:35.152 342152 (GBPCHF, H1) 평균=647
2020.06.13 09:17:35.152 342152 (AUDJPY, H1) 금액=480
2020.06.13 09:17:35.152 342152 (AUDJPY, H1) 최소 = 47
2020.06.13 09:17:35.152 342152 (AUDJPY, H1) 최대 = 17415
2020.06.13 09:17:35.152 342152 (AUDJPY, H1) 평균=640
2020.06.13 09:17:35.152 342152 (CADCHF, H1) 최소=48
2020.06.13 09:17:35.152 342152 (CADCHF, H1) 최대=17435
2020.06.13 09:17:35.152 342152 (CADCHF, H1) 평균=637
2020.06.13 09:17:35.152 342152 (AUDCHF, H1) 평균=662
2020.06.13 09:17:35.152 342152 (AUDUSD, H1) 금액 = 480
2020.06.13 09:17:35.152 342152 (AUDUSD, H1) 최소=43
2020.06.13 09:17:35.152 342152 (AUDUSD, H1) 최대 = 17416
2020.06.13 09:17:35.152 342152 (AUDUSD, H1) 평균=620
2020.06.13 09:17:35.152 342152 (GBPJPY, H1) 금액 = 480
2020.06.13 09:17:35.152 342152 (GBPJPY, H1) 최소=13
2020.06.13 09:17:35.152 342152 (GBPJPY, H1) 최대 = 10468
2020.06.13 09:17:35.152 342152 (GBPJPY, H1) 평균=660
2020.06.13 09:17:35.152 342152 (CHFJPY, H1) 금액=480
2020.06.13 09:17:35.152 342152 (CHFJPY, H1) 최소=11
2020.06.13 09:17:35.152 342152 (CHFJPY, H1) 최대=10474
2020.06.13 09:17:35.152 342152 (AUDNZD, H1) 금액=480
2020.06.13 09:17:35.152 342152 (AUDNZD, H1) 최소=61
2020.06.13 09:17:35.152 342152 (AUDNZD, H1) 최대=10491
2020.06.13 09:17:35.152 342152 (AUDNZD, H1) 평균=663
2020.06.13 09:17:35.152 342152 (EURCHF, H1) 최대 = 17414
2020.06.13 09:17:35.152 342152 (EURCHF, H1) 평균 = 646
2020.06.13 09:17:35.152 342152 (AUDCAD, H1) 금액=480
2020.06.13 09:17:35.152 342152 (AUDCAD, H1) 최소=100
2020.06.13 09:17:35.152 342152 (AUDCAD, H1) 최대=17421
2020.06.13 09:17:35.152 342152 (AUDCAD, H1) 평균=638
2020.06.13 09:17:35.152 342152 (USDCAD, H1) 최대=10488
2020.06.13 09:17:35.152 342152 (USDCAD, H1) 평균=666
2020.06.13 09:17:35.152 342152 (CHFJPY, H1) 평균=656

그래서 모든 일이 동시에 일어났다. 그러나 이것은 여전히 MT5에서 문제가 될 수 있습니다. 다른 동시 단말기로 확인하겠습니다.

로그로 판단하면 하나의 속도 저하가 다른 하나의 속도 저하와 일치하지 않습니다. 동시에 아닙니다. 따라서 문제는 터미널 자체에 있습니다.

 

MQL5 프로그램에서 차트에 대한 작업(Get/Set 메소드)은 트랜잭션 큐를 거칩니다.

이를 통해 GUI와 터미널 자체의 작업을 불가피한 차단으로부터 분리할 수 있으며 이는 MQL5 프로그램에 적합(충족)할 수 있습니다.

트랜잭션 비동기를 사용하면 분할 모드에서 매우 빠르게 쓰거나 읽을 수 있으며 Set 및 Get 메서드를 혼합할 때 즉시 동기화 모드를 켤 수 있습니다.

즉, 비동기식 Set을 1000번 수행한 다음 Get & Set을 교대로 수행하여 대기열을 동기식 프로세스로 바꾸는 것보다 Get 1000번 수행하는 것이 좋습니다. 이전 비동기 세트가 정확히 겹쳐서 이제 읽을 수 있는지 확인해야 하기 때문입니다.


시스템 기능을 주의해서 사용하고 가능하면 캐시해야 합니다.

 
Renat Fatkhullin :

시스템 기능을 주의해서 사용하고 가능하면 캐시해야 합니다.

안녕하세요, 문제는 약간 다릅니다. ChartGetInteger 및 유사한 기능의 실행이 매우 느립니다.
빌드 2009에서 빌드 2485로 이동할 때 ChartGetInteger의 최대 실행 시간은 5ms에서 200-250ms로 증가했으며 문제는 특히 50개 이상의 열린 차트에서 두드러집니다.
시스템: 터미널 Windows 10 빌드 18363, Intel Core i7-7700HQ @ 2.80GHz, 19/31Gb 메모리, 262/640Gb 디스크, 4K 모니터, NVidia 1050Ti
문제 설명의 코드가 사용되었습니다: https://www.mql5.com/en/forum/342152

문제의 가능한 원인:

오류, 버그, 질문

Sergey Dzyublik , 2020.06.13 19:20

MT5 2009 및 MT5 2485의 두 가지 버전에 대한 ChartGetInteger 함수의 구현을 비교했는데 문제는 다음과 같을 수 있습니다.
1. 2485에서는 차트 개체의 "원자" 필드를 읽는 데 다소 느린 작업이 사용되었습니다.
울타리; 잠금 이동 eax,[rax+2C];
그러나 2009년 빌드에서는 다음을 사용하여 수행됩니다. lock xadd [rcx+2C],eax

2. 또한 ntdll_RtlEnterCriticalSection에서 소요되는 로직과 가능한 시간이 크게 변경된 것 같습니다.
이전에는 2009년에 원자적 연산 없이 임계 영역에서 수신된 값 중 몇 개만 확인했습니다.
그리고 2485에서는 연결 목록 차트 개체에 대한 반복 작업을 추가로 수행할 수 있습니다.


아마도 새 컴파일러로의 전환(2-3개월 전)의 일부로 차트 기능으로 작업할 때 충돌이 수정되었을 때 문제가 발생했을 수 있습니다.
MT5(빌드 2485)에서 ChartGetInteger를 호출 하기 위한 어셈블러 코드는 첨부 파일에 있습니다.



 
점검 해보자.
 
Renat Fatkhullin :
점검 해보자.

플레이 단계:

 long chart_id;

int OnInit (){
   for ( int i = 0 ; i < 95 ; ++i){
       ChartOpen ( _Symbol , _Period );
   }

   chart_id = ChartID ();
   EventSetMillisecondTimer ( 250 );
   return ( INIT_SUCCEEDED );
}

void OnTimer (){
   ulong t= GetMicrosecondCount ();
   long autoscroll = ChartGetInteger (chart_id, CHART_AUTOSCROLL );
   ulong delay =( GetMicrosecondCount ()-t)/ 1000 ;
   if (delay> 0 ){
     Print ( "Execution delay: " ,delay, " ms" );
  }
}


1. 깨끗한 MT 터미널을 가지고 하나의 차트를 열고 이 차트에서 위에 제공된 컴파일된 Expert Advisor를 실행합니다.
2. 95개의 새 해도를 모두 연 후 이전에 수행하지 않은 경우 MT에서 해도 공간의 전체 너비로 해도 창을 확장합니다.
3. 차트 탭에서 다른 탭으로 전환하고 로그에서 ChartGetInteger 함수의 실행 시간 표시기를 캡처합니다.
열려 있는 모든 차트를 닫으려면 CTRL + W 조합을 길게 누를 수 있습니다.


MT5 결과(빌드 2009):

 2020.06 . 14 15 : 33 : 43.173 Test123456 (EURUSD,H1)  Execution delay: 2 ms
2020.06 . 14 15 : 33 : 43.674 Test123456 (EURUSD,H1)  Execution delay: 3 ms
2020.06 . 14 15 : 33 : 44.177 Test123456 (EURUSD,H1)  Execution delay: 5 ms
2020.06 . 14 15 : 33 : 44.422 Test123456 (EURUSD,H1)  Execution delay: 4 ms
2020.06 . 14 15 : 33 : 44.673 Test123456 (EURUSD,H1)  Execution delay: 2 ms
2020.06 . 14 15 : 33 : 44.923 Test123456 (EURUSD,H1)  Execution delay: 3 ms
2020.06 . 14 15 : 33 : 45.173 Test123456 (EURUSD,H1)  Execution delay: 2 ms
2020.06 . 14 15 : 33 : 45.423 Test123456 (EURUSD,H1)  Execution delay: 2 ms
2020.06 . 14 15 : 33 : 45.672 Test123456 (EURUSD,H1)  Execution delay: 2 ms


MT5 결과(빌드 2485):

 2020.06 . 14 15 : 33 : 12.947 Test123456 (EURUSD,H1)  Execution delay: 163 ms
2020.06 . 14 15 : 33 : 13.198 Test123456 (EURUSD,H1)  Execution delay: 1 ms
2020.06 . 14 15 : 33 : 13.293 Test123456 (EURUSD,H1)  Execution delay: 1 ms
2020.06 . 14 15 : 33 : 13.831 Test123456 (EURUSD,H1)  Execution delay: 287 ms
2020.06 . 14 15 : 33 : 14.702 Test123456 (EURUSD,H1)  Execution delay: 136 ms
2020.06 . 14 15 : 33 : 15.316 Test123456 (EURUSD,H1)  Execution delay: 3 ms
2020.06 . 14 15 : 33 : 15.677 Test123456 (EURUSD,H1)  Execution delay: 110 ms
2020.06 . 14 15 : 33 : 17.041 Test123456 (EURUSD,H1)  Execution delay: 221 ms


결과 및 결론 비교:
1. 2009 빌드에 표시되는 항목의 수는 2485 빌드의 항목보다 훨씬 많습니다.
"정상 조건" 에서 ChartGetInteger 함수는 빌드 2485로 전환할 때 더 빨라졌습니다.

2. 2009 빌드의 최대 실행 시간은 15ms이고 2485 빌드의 경우 310ms입니다.
"바람직하지 않은 조건"에서 ChartGetInteger 함수는 빌드 2485로 전환할 때 최대 20배 느려졌습니다.

3. 95개 차트의 여는 속도도 눈으로 추정할 수 있습니다.
두 빌드 모두 이전에 열린 차트 수의 "기하급수적" 난이도가 눈에 띕니다. 2009 빌드에서는 실행 속도가 훨씬 빨라졌습니다.

 
Stanislav Korotky :

로그로 판단하면 하나의 속도 저하가 다른 하나의 속도 저하와 일치하지 않습니다. 동시에 아닙니다. 따라서 문제는 터미널 자체에 있습니다.

로그는 1분마다 인쇄됩니다(번역은 타임스탬프를 엉망으로 만들었습니다!!). 더 정확하게 확인할 수 있었지만 그럴 가치가 없습니다.

여러 터미널에서 시도했지만 피크가 동시가 아님을 분명히 보여줍니다. 이것은 분명히 MT5입니다.

 
Renat Fatkhullin :

MQL5 프로그램에서 차트에 대한 작업(Get/Set 메소드)은 트랜잭션 큐를 거칩니다.

이를 통해 GUI와 터미널 자체의 작업을 MQL5 프로그램에 적합(충족)시킬 불가피한 차단으로부터 분리할 수 있습니다.

트랜잭션 비동기를 사용하면 분할 모드에서 매우 빠르게 쓰거나 읽을 수 있으며 Set 및 Get 메서드를 혼합할 때 즉시 동기화 모드를 켤 수 있습니다.

즉, 비동기식 Set을 1000번 수행한 다음 Get & Set을 교대로 수행하여 대기열을 동기식 프로세스로 바꾸는 것보다 Get 1000번 수행하는 것이 좋습니다. 이전 비동기 세트가 정확히 겹쳐서 이제 읽을 수 있는지 확인해야 하기 때문입니다.


시스템 기능을 주의해서 사용하고 가능하면 캐시해야 합니다.

명확하고 좋은 시스템입니다. 그러나 @Sergey Dzyubli도 이를 시연하는 어딘가에 결함이 있다고 생각합니다.
Sergey Dzyublik
Sergey Dzyublik
  • www.mql5.com
Добавил тему Вход через MQL5.community (OAuth) В настройках профиля появилась новая вкладка Приложения (https://www.mql5.com/ru/users/USER_NAME/apps): Эта функция позволяет людям авторизоваться на вашем сайте или в приложении, используя аккаунт MQL5.community. Технология проста и безопасна. Она Добавил...
 
Alexey Navoykov :
내가 아는 한 ChartRedraw를 호출 하면 차트가 즉시 다시 그려지지 않습니다. 다시 그리기는 일부 Get 메서드가 호출될 때만 발생합니다.
그리고 ChartRedraw는 본질적으로 동일한 비동기 방식입니다. 따라서 BuildChart 측정은 신뢰할 수 없습니다.

이 두 줄을 바꿔보십시오.

그러면 측정에 비동기식이 없을 것이고 무슨 일이 일어나는지 보십시오. 더욱 빨라질 것입니다.

 
fxsaber :
나는 컴파일러가 이 줄에서 무엇을 좋아하지 않는지 이해하지 못한 채 오랫동안 바보였습니다.

쓰는 것을 잊었다면. 그런 멍청한 사람들이 메시지를 씹는 것이 좋을 것이라고 생각했습니다.

5년 전, 아마도 더 많은 컴파일러 오류 및 경고 에 대한 설명과 예를 작성하도록 요청했습니다.

어쩌면 당신은 더 잘할 수 있습니다.

 
Renat Fatkhullin :

MQL5 프로그램에서 차트에 대한 작업(Get/Set 메소드)은 트랜잭션 큐를 거칩니다.

이를 통해 GUI와 터미널 자체의 작업을 MQL5 프로그램에 적합(충족)시킬 불가피한 차단으로부터 분리할 수 있습니다.

트랜잭션 비동기를 사용하면 분할 모드에서 매우 빠르게 쓰거나 읽을 수 있으며 Set 및 Get 메서드를 혼합할 때 즉시 동기화 모드를 켤 수 있습니다.

즉, 비동기식 Set을 1000번 수행한 다음 Get & Set을 교대로 수행하여 대기열을 동기식 프로세스로 바꾸는 것보다 Get 1000번 수행하는 것이 좋습니다. 이전 비동기 세트가 정확히 겹쳐서 이제 읽을 수 있는지 확인해야 하기 때문입니다.


시스템 기능을 주의해서 사용하고 가능하면 캐시해야 합니다.

Set 메서드가 비동기적일 뿐만 아니라 Get?
저것들. 일리야스가 여기서 틀렸어?
동시에 Slava는 ChartXYToTimePrice 메서드의 비동기성에 대해 이야기할 때 바로 여기 에 있었습니다. 결국 ChartXYToTimePrice 메서드는 Get 메서드에 속할 가능성이 큽니다.

비동기에 대한 문서 에서는 Set 메서드에 대해서만 설명합니다.