Hatalar, hatalar, sorular - sayfa 2778

 
Alain Verleyen :

Başka bir Terminal, ancak 20 çizelge (farklı semboller) aynı anda başladı.

Zirvenin nereden geldiğini AUDUSD için kontrol ettim:

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

İşte o zaman zirveler gelir:

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

Yani her şey aynı anda oldu. Ancak bu yine de MT5 ile ilgili bir sorun olabilir. Diğer eşzamanlı terminallerle kontrol edeceğim.

Loglara bakılırsa, birindeki yavaşlama diğerindeki yavaşlamayla örtüşmüyordu; aynı anda değil. Yani sorun terminalin kendisinde.

 

MQL5 programlarında bir çizelge ile çalışma (Get/Set yöntemleri) bir işlem kuyruğundan geçer.

Bu, GUI'nin ve terminalin çalışmasını, MQL5 programlarına uyan (yeterli) kaçınılmaz engellemeden ayırmanıza olanak tanır.

İşlemsel eşzamansızlık, bölünmüş modlarda çok hızlı bir şekilde yazmanıza veya okumanıza olanak tanır ve Ayarla ve Al yöntemlerini karıştırdığınızda anında senkronizasyon modunu açar.

Yani, sırayı senkronize bir işleme dönüştürmek için alternatif Get & Set yapmak yerine 1000 kez asenkron Set yapmak ve ardından 1000 kez Get yapmak daha iyidir. Çünkü önceki asenkron Kümenin tam olarak çakıştığından emin olmamız gerekiyor ve şimdi onu okuyabiliyoruz.


Sistem işlevlerini dikkatli bir şekilde kullanmanız ve mümkün olduğunda önbelleğe almanız gerekir.

 
Renat Fatkhullin :

Sistem işlevlerini dikkatli bir şekilde kullanmanız ve mümkün olduğunda önbelleğe almanız gerekir.

İyi günler, sorun biraz farklı - ChartGetInteger ve benzer işlevlerin ÇOK yavaş yürütülmesi.
Build 2009'dan build 2485'e geçerken, ChartGetInteger'in en yüksek yürütme süresi 5 ms'den 200-250 ms'ye yükseldi, sorun özellikle 50'den fazla açık çizelgede telaffuz ediliyor.
Sistem: Terminal Windows 10 build 18363, Intel Core i7-7700HQ @ 2.80GHz, 19/31 Gb bellek, 262/640 Gb disk, 4K monitör, NVidia 1050Ti
Sorun açıklamasındaki kod kullanıldı: https://www.mql5.com/en/forum/342152

Sorunun olası nedenleri:

Hatalar, hatalar, sorular

Sergey Dzyublik , 2020.06.13 19:20

MT5 2009 ve MT5 2485'in iki sürümü için ChartGetInteger işlevinin uygulamalarını karşılaştırdım, sorun şu olabilir:
1. 2485'te, grafik nesnesinin "atomik" alanlarını okumak için oldukça yavaş işlemler kullanılır:
çit; kilit mov eax,[rax+2C];
Ancak, 2009 derlemesinde bu şu şekilde yapılır: lock xadd [rcx+2C],eax

2. Ayrıca, ntdll_RtlEnterCriticalSection'da geçirilen mantık ve olası süre de önemli ölçüde değişmiş gibi görünüyor.
Daha önce, 2009 yılında, kritik bölümde herhangi bir atomik işlem yapılmadan sadece birkaç alınan değer kontrol edildi.
Ve 2485'te, bağlantılı liste grafik nesneleri üzerinde yineleme ek olarak gerçekleştirilebilir.


Muhtemelen sorun, yeni bir derleyiciye geçişin bir parçası olarak (2-3 ay önce) grafik işlevleriyle çalışırken bir kilitlenme giderildiğinde ortaya çıkmış olabilir.
MT5'te (yapı 2485) ChartGetInteger'ı çağırmak için montajcı kodu ektedir.



 
Hadi kontrol edelim.
 
Renat Fatkhullin :
Hadi kontrol edelim.

Oynamak için adımlar:

 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. Temiz bir MT terminali alın, üzerinde bir çizelge açın, bu çizelgede yukarıda verilen derlenmiş Expert Advisor'ı çalıştırın.
2. 95 yeni grafiğin tümünü açtıktan sonra, daha önce yapılmadıysa, grafik penceresini MT'deki grafik alanının tam genişliğine genişletin.
3. Grafik sekmesinden diğerine geçin ve günlükten ChartGetInteger işlevinin yürütme süresi göstergelerini yakalayın.
Tüm açık grafikleri kapatmak için CTRL + W kombinasyonunu basılı tutabilirsiniz.


MT5 sonucu (2009 derlemesi):

 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 sonucu (buidl 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


Sonuçların ve sonuçların karşılaştırılması:
1. 2009 derlemesinde görüntülenen giriş sayısı, 2485 derlemesindeki girişlerden çok daha fazladır.
"Normal koşullar" altındaki ChartGetInteger işlevi, 2485'i oluşturmaya geçerken daha hızlı hale geldi.

2. 2009 derlemesi için en yüksek yürütme süresi 15ms ve 2485 derlemesi için 310ms'dir.
"Olumsuz koşullarda" ChartGetInteger işlevi, yapı 2485'e geçerken 20 kata kadar daha yavaş hale geldi.

3. Ayrıca 95 grafiğin açılış hızını gözle de tahmin edebilirsiniz.
Her iki yapı için de, daha önce açılan çizelgelerin sayısından kaynaklanan "üssel" zorluk ve 2009 derlemesinde önemli ölçüde daha hızlı yürütme dikkat çekicidir.

 
Stanislav Korotky :

Loglara bakılırsa, birindeki yavaşlama diğerindeki yavaşlamayla örtüşmüyordu; aynı anda değil. Yani sorun terminalin kendisinde.

Günlük yalnızca dakikada bir yazdırılıyor (çeviri zaman damgasını karıştırdı!!), Daha kesin olarak kontrol edebilirdim, ama buna değmez.

Birden fazla terminalde denedim ve bu açıkça zirvelerin eşzamanlı OLMADIĞINI gösteriyor. Bu açıkça bir MT5 olayıdır.

 
Renat Fatkhullin :

MQL5 programlarında bir çizelge ile çalışma (Get/Set yöntemleri) bir işlem kuyruğundan geçer.

Bu, GUI'nin ve terminalin çalışmasını, MQL5 programlarına uyan (yeterli) kaçınılmaz engellemeden ayırmanıza olanak tanır.

İşlemsel eşzamansızlık, bölünmüş modlarda çok hızlı bir şekilde yazmanıza veya okumanıza olanak tanır ve Ayarla ve Al yöntemlerini karıştırdığınızda anında senkronizasyon modunu açar.

Yani, sırayı senkronize bir işleme dönüştürmek için alternatif Get & Set yapmak yerine 1000 kez asenkron Set yapmak ve ardından 1000 kez Get yapmak daha iyidir. Çünkü önceki asenkron Kümenin tam olarak çakıştığından emin olmamız gerekiyor ve şimdi onu okuyabiliyoruz.


Sistem işlevlerini dikkatli bir şekilde kullanmanız ve mümkün olduğunda önbelleğe almanız gerekir.

Net ve güzel bir sistemdir. Ama bence bir yerlerde bir aksaklık var, bu da @Sergey Dzyubli tarafından gösterildi.
Sergey Dzyublik
Sergey Dzyublik
  • www.mql5.com
Добавил тему Вход через MQL5.community (OAuth) В настройках профиля появилась новая вкладка Приложения (https://www.mql5.com/ru/users/USER_NAME/apps): Эта функция позволяет людям авторизоваться на вашем сайте или в приложении, используя аккаунт MQL5.community. Технология проста и безопасна. Она Добавил...
 
Alexey Navoykov :
Bildiğim kadarıyla ChartRedraw'ı çağırmak grafiği hemen yeniden çizmez. Yeniden çizim, yalnızca Get yöntemi çağrıldığında gerçekleşir.
Ve ChartRedraw aslında aynı asenkron yöntemdir. Yani BuildChart ölçümünüz güvenilir değil.

bu iki satırı değiştirmeyi deneyin

o zaman ölçümde asenkron hiçbir şey olmayacak ve ne olduğunu görün. Daha da hızlı olacak.

 
fxsaber :
Bu satırda derleyicinin neyi sevmediğini anlamadan uzun süre aptaldım.

varsa yazmayı unutmuşum. Böyle aptal insanların mesajı çiğnemesinin iyi olacağını düşündüm.

5 yıl önce, belki daha fazla tüm derleyici hataları ve uyarıları için bir açıklama ve örnek yapılması istendi.

belki daha iyisini yapabilirsin.

 
Renat Fatkhullin :

MQL5 programlarında bir çizelge ile çalışma (Get/Set yöntemleri) bir işlem kuyruğundan geçer.

Bu, GUI'nin çalışmasını ve terminalin kendisini MQL5 programlarına uyacak (tatmin edecek) kaçınılmaz engellemeden ayırmanıza izin verir.

İşlemsel eşzamansızlık, bölünmüş modlarda çok hızlı bir şekilde yazmanıza veya okumanıza olanak tanır ve Ayarla ve Al yöntemlerini karıştırdığınızda anında senkronizasyon modunu açar.

Yani, sırayı senkronize bir işleme dönüştürmek için alternatif Get & Set yapmak yerine 1000 kez asenkron Set yapmak ve ardından 1000 kez Get yapmak daha iyidir. Çünkü önceki asenkron Kümenin tam olarak çakıştığından emin olmamız gerekiyor ve şimdi onu okuyabiliyoruz.


Sistem işlevlerini dikkatli bir şekilde kullanmanız ve mümkün olduğunda önbelleğe almanız gerekir.

Yalnızca Set yöntemlerinin eşzamansız olduğunu değil, aynı zamanda Get?
Onlar. İlyas burada yanıldı ?
Aynı zamanda, Slava ChartXYToTimePrice yönteminin uyumsuzluğundan bahsettiğinde tam burada mıydı? Sonuçta, ChartXYToTimePrice yöntemi büyük olasılıkla Get yöntemlerine aittir.

Eşzamansızlıkla ilgili belgeler yalnızca Set yöntemlerinden bahseder.