MT5 ve iş başında hız - sayfa 85

 
Anton :

@Anton , birçok normal işlevde karakter yerine NULL belirtebilirsiniz. Yürütme hızını etkiler mi?

 SymbolInfoTick ( NULL , Tick);

SymbolInfoTick ( _Symbol , Tick);

Veya Terminal/Test için fark yok mu?

 
fxsaber :

@Anton , birçok normal işlevde karakter yerine NULL belirtebilirsiniz. Yürütme hızını etkiler mi?

Veya Terminal/Test için fark yok mu?

Kesin olarak söyleyemem ama sezgisel olarak hiçbir yere NULL yazmam.

Teorik olarak, önemli olmamalı. Derleme yaparken NULL'un normal bir değere dönüştüğünü düşünüyorum, ancak net olmayanı gözlerimle görmekten hoşlanmıyorum.

 
Alexey Viktorov :

Kesin olarak söyleyemem ama sezgisel olarak hiçbir yere NULL yazmam.

Teorik olarak, önemli olmamalı. Derleme yaparken NULL'un normal bir değere dönüştüğünü düşünüyorum, ancak net olmayanı gözlerimle görmekten hoşlanmıyorum.

Aynı şekilde. Ama hıza önem veririm.

 

SymbolInfoTicks'in hafta sonu ikinci bir zamanlayıcıda nasıl yavaşlayabildiğini anlamıyorum?!

 2021.02 . 28 21 : 33 : 02.993 :: SymbolInfoTick ( _Symbol ,Tick) = 171 mcs.

Her birinde, ikinci bir zamanlayıcıda sembolünün yalnızca bir işaretini alan bir Uzman Danışman başlatılan çeşitli sembollerden oluşan 20 grafik.

İzin gününde neden burada yavaşlasın?!


Ekranda ZY 3374 MB - bu bir saat önce bir hafta boyunca kene talep ettim. Bu tür kaynak tasarrufu.

 
fxsaber :

SymbolInfoTicks'in hafta sonu ikinci bir zamanlayıcıda nasıl yavaşlayabildiğini anlamıyorum?!

Her birinde, ikinci bir zamanlayıcıda sembolünün yalnızca bir işaretini alan bir Uzman Danışman başlatılan çeşitli sembollerden oluşan 20 grafik.

İzin gününde neden burada yavaşlasın?!

Sen:

  1. bilgi eksikliği
  2. 4 çekirdek üzerinde paralel olarak çalışan birkaç düzine Expert Advisor iş parçacığı (8 hiper iş parçacığı göz ardı edilebilir)
  3. yine uzun bir bekleyişten tek bir aykırı değer buldunuz mu?
  4. iş parçacığı yöneticisinin emriyle yine tek bir rastgele sistem gecikmesi mi?


 
Renat Fatkhullin :

Sen:

  1. bilgi eksikliği
  2. 4 çekirdek üzerinde paralel olarak çalışan birkaç düzine Expert Advisor iş parçacığı (8 hiper iş parçacığı göz ardı edilebilir)
  3. yine uzun bir bekleyişten tek bir aykırı değer buldunuz mu?
  4. iş parçacığı yöneticisinin emriyle yine tek bir rastgele sistem gecikmesi mi?

SymbolInfoTick'in neden frenleme için bu kadar tercih edilen bir özellik olduğunu merak ediyorum?

 
fxsaber :

SymbolInfoTick'in neden frenleme için bu kadar tercih edilen bir özellik olduğunu merak ediyorum?

Değil.

Herhangi bir programın herhangi bir yerinde her zaman rastgele gecikmeleri yakalarsınız. Her şeyi izlemeye başlayın ve Windows'un gerçekleri karşısında dehşete kapılın. Bunu zaten birkaç kez ayrıntılı olarak açıkladım.

Sistem WinAPI fonksiyonlarında 0 ms yerine 60-80 ms'lik rastgele emisyonları yakaladığımızda da şaşırmıştık.


Artık Windows çözümlerimizin çoğunu toplu olarak özel olarak yağdan arındırılmış Windows Server 2019 Core sürümlerine ve .NET Core web projelerini Linux'a aktarıyoruz. Bu, sistem kaynaklarında büyük tasarruf sağlar ve sistem gecikmesini büyük ölçüde azaltır.

MataTrader 5 terminallerinin yağdan arındırılmasının ilk aşaması olarak, anında kaynak tüketimini izlemek için bir görev yöneticisi sunmaya başladık. Kendimiz için daha fazla bilgi topluyoruz.

Şunlar netleşti:

  • fazla akışları çok uzun süre tutmak
  • aşırı ölçekleme
  • önbellekleri aşırı açığa çıkarmak
Bir sonraki sürüm için, bazı kaynak sorunlarını adım adım çözeceğiz.
 
Alexey Viktorov :

Teorik olarak, önemli olmamalı. Derleme yaparken NULL'un normal bir değere dönüştüğünü düşünüyorum, ancak net olmayanı gözlerimle görmekten hoşlanmıyorum.

Teorik olarak, sadece etkilemesi gerekir, ancak etkilemez, çünkü

 SymbolInfoTick ( _Symbol , Tick);

_Symbol, değere göre değil (Yardım'daki açıklamadan aşağıdaki gibi), ancak referansa göre iletilir

 
Renat Fatkhullin :

Değil.

Herhangi bir programın herhangi bir yerinde her zaman rastgele gecikmeleri yakalarsınız. Her şeyi takip etmeye başlayın ve Windows'un gerçekleri karşısında dehşete kapılın. Bunu zaten birkaç kez ayrıntılı olarak açıkladım.

Teşekkürler, kontrol edeceğim.


Lütfen böyle bir özelliği düşünün.

 int SymbolInfoTicks( const string Symb, MqlTick &Ticks[] ); // Возвращает свежие тики (не более сотни), пришедшие с предыдущего вызова этой функции.


Boşluklar olmadan TAZE tik alma sorunu artık yalnızca CopyTicks* ile çözülmektedir. Bu, bu ortak görev için çok hantal bir mekanizmadır. Serçeler için bir top gibi.

Bu nedenle frenler, büyük önbellekler vb.

 
A100 :

Teorik olarak, sadece etkilemesi gerekir, ancak etkilemez, çünkü

_Symbol, değere göre değil (Yardım'daki açıklamadan aşağıdaki gibi), ancak referansa göre iletilir

İşlevin içinde yine de ilgili onay işaretine atlamanız gerekir. Bu, dize değişkenini ayrıştırma zamanıdır. NULL ile bu gereksizdir.