MT5 Kod Profil Oluşturucu Hakkında - sayfa 6

 
fxsaber # :

Sadece %45 satırları ve geri kalanı neden dikkate alınmadığını anlamadım?

Yük hakkında yazdığım yerel işlevleri içeriyorlar.

RefreshHistory, HistorySelect ve HistoryOrderGet, GetHistoryPositionData - bunlardan + HistoryDealGet'ten oluşur.

Ayrıca kodu gözlerinizle gözden geçirmenize ve en kırmızı çizgileri analiz etmenize yardımcı olur. Doğru, kod bir sayfadan biraz daha karmaşıksa, her zaman renklendirilmezler.

 
fxsaber # :

%29,41 (neden belli değil) dönüşten sonra yöntemin kapanış parantezine düşüyor. Yorumlamak zor.

Yerel işlev değişkenlerini, yerel nesneleri vb. kaldırma

Bu, işlevden herhangi bir dönüşten sonra yapılır.

 
Andrey Khatimlianskii # :

Yerel işlev değişkenlerini, yerel nesneleri vb. kaldırma

Bu, işlevden herhangi bir dönüşten sonra yapılır.

Yalnızca üç ulong değişkeni vardır.

 
fxsaber # :

Büyük bir hikayeye 20 kat tekrar eklendi.

%29,41 (neden belli değil) dönüşten sonra yöntemin kapanış parantezine düşüyor. Yorumlamak zor.

Ve bu fonksiyonla ilgili raporda neler var?

Lütfen göster

 
Ilyas # :

Ve bu fonksiyonla ilgili raporda neler var?

Lütfen göster

MQL Profil Oluşturucu Raporu - \MQL5\Experts\Test19.mq5
işlev astar Toplam CPU Yüzde öz işlemci Yüzde
MT4ORDERS::GetHistoryPositionData 1093 701
%85.38
260
%31.67
} 1360 157
%21.96
157
%60.38
statik void GetHistoryPositionData( const ulong Ticket ) 1093 46
%6.43
46
%17.69
const string StrComment = ::HistoryDealGetString(OpenTicket, DEAL_COMMENT); 1178 23
%3.22
on bir
%4.23
MT4ORDERS::Order.Comment = ::HistoryDealGetString(Ticket, DEAL_COMMENT); 1107 20
%2.80
on
%3.85


Bu bilginin gerekli olup olmadığından emin değilim. Ne yazık ki, sayıları çok iyi anlamıyorum. Anlamak istiyorum.


ZY Yukarıdaki tabloda aynı satıra sahip iki satır=1093. Belki de LAN'da oynatma için hangi veriler sağlanacak?

 
fxsaber # :

Yalnızca üç ulong değişkeni vardır.

Ve bu fonksiyondan çağrılan her şey.

A fonksiyonunun yürütme zamanı, A'dan çağrılan tüm B fonksiyonlarının yürütme zamanını içerir. B'nin başka bir yerden çağrılması dışında (o zaman B'nin A'ya sadece bir kısmı girer).

 
Andrey Khatimlianskii # :

Ve bu fonksiyondan çağrılan her şey.

A fonksiyonunun yürütme zamanı, A'dan çağrılan tüm B fonksiyonlarının yürütme zamanını içerir. B'nin başka bir yerden çağrılması dışında (o zaman B'nin A'ya sadece bir kısmı girer).

Kapanış parantezini kastetmiştim.

 
fxsaber # :

Kapanış parantezini kastetmiştim.

ondan bahsediyorum)

Belki bir şeyi yanlış anlıyorum.

 

Profil oluşturucuyu çalıştırdıktan sonra test kullanıcısı günlüğü (Görselleştirme olmadan).

 2021.11 . 08 03 : 21 : 54.358 Core 1   EURUSD,M1: 6820008 ticks, 258262 bars generated. Environment synchronized in 0 : 00 : 00.018 . Test passed in 0 : 00 : 22.853 (including ticks preprocessing 0 : 00 : 01.219 ).
2021.11 . 08 03 : 21 : 54.358 Core 1   EURUSD,M1: total time from login to stop testing 0 : 00 : 22.871 (including 0 : 00 : 00.018 for history data synchronization)
2021.11 . 08 03 : 21 : 54.358 Core 1   disconnected
2021.11 . 08 03 : 21 : 54.358 Core 1    1578 Mb memory used including 24 Mb of history data, 192 Mb of tick data


Hemen ardından Test Cihazındaki Başlat düğmesine elle basılır.

 2021.11 . 08 03 : 23 : 00.166 Core 1   EURUSD,M1: 6820008 ticks, 258262 bars generated. Environment synchronized in 0 : 00 : 00.029 . Test passed in 0 : 00 : 07.548 (including ticks preprocessing 0 : 00 : 01.203 ).
2021.11 . 08 03 : 23 : 00.166 Core 1   EURUSD,M1: total time from login to stop testing 0 : 00 : 07.577 (including 0 : 00 : 00.029 for history data synchronization)
2021.11 . 08 03 : 23 : 00.166 Core 1    444 Mb memory used including 24 Mb of history data, 192 Mb of tick data


  1. Profil oluşturma sırasında geçiş süresi neden üç kat daha uzun?
  2. Profil oluşturma sırasında bellek tüketimi neden üç kat daha fazla?
 

Profil oluşturucu, aslında orada olmayan işlev çağrılarını gösterir. Hatta bununla karşılaştım:

mqh dosyasının kaynağında olmayan bir tür ArrayCopy! Aynı zamanda, statik bir dizinin bildirimini kırmızı bir çizgi ile vurguladım.

Ve profil oluşturucuyu kullanmak maalesef mümkün değil.