PROFI'den SUPERPROFI'ye kadar tüm sorularınız - 1. - sayfa 35

 
MQL4'te nasıldır bilmiyorum ama C++'da yarışlar yaptığımda ilk çalıştırdığınız kodun ikincisinden daha yavaş çalıştığını fark ettim. Elbette, belleğin ilk tahsisi zaman alır. Genellikle %5 daha yavaştır.
 
double H_global[ 1000 ],L_global[ 1000 ];
int start(){
   int i,j,start_local,start_global,GetTick_local,GetTick_global;
   double H_local[ 1000 ],L_local[ 1000 ];
   start_local= GetTickCount ();
   for (j= 0 ;j< 10000 ;j++)
       for (i= 0 ;i< 1000 ;i++){
         H_local[i] = High[i];
         L_local[i] = Low[i];
      }
   GetTick_local = GetTickCount ();
//---------------------
   start_global= GetTickCount ();
   for (j= 0 ;j< 10000 ;j++)
       for (i= 0 ;i< 1000 ;i++){
         H_global[i] = High[i];
         L_global[i] = Low[i];
      }
   GetTick_global = GetTickCount ();
//---------------------   
   Print ( "локальный массив: " , GetTick_local-start_local , " миллисекунд." );
   Print ( "глобальный массив: " , GetTick_global-start_global, " миллисекунд." );
return ( 0 );
}

günlükte:

2012.03.23 13:40:50 EURUSD testi,H1: global dizi: 1406 milisaniye.

2012.03.23 13:40:50 EURUSD testi,H1: yerel dizi: 1344 milisaniye.

şimdi mantıklı: global değişkenler biraz daha uzun, yerel değişkenler daha hızlı, fark etmediğini düşünmeme rağmen, çağrılan fonksiyonda da ölçmek gerekiyor, belki hala biraz fark vardır

 
IgorM :

günlükte:

2012.03.23 13:40:50 EURUSD testi,H1: global dizi: 1406 milisaniye.

2012.03.23 13:40:50 EURUSD testi,H1: yerel dizi: 1344 milisaniye.

şimdi mantıklı: global değişkenler biraz daha uzun, yerel değişkenler daha hızlı, fark etmediğini düşünmeme rağmen, çağrılan fonksiyonda da ölçmek gerekiyor, belki hala biraz fark vardır

Muhtemelen, onları değiştirirseniz, sonuçlar yerinde kalacaktır.
 
Zhunko : Muhtemelen, bunlar değiştirilirse sonuçlar aynı kalacaktır.

print () işlevini başlattıktan sonra start() değiştirildi ve func() olarak kopyalandı:

2012.03.23 14:11:15 EURUSD testi,H1: yerel dizi: 1313 milisaniye.

2012.03.23 14:11:15 EURUSD testi,H1: global dizi: 1359 milisaniye.

2012.03.23 14:11:15 EURUSD testi,H1: fonksiyon çağrısı.....

2012.03.23 14:11:18 EURUSD testi,H1: fonksiyon, yerel dizi: 1312 milisaniye.

2012.03.23 14:11:18 EURUSD testi,H1: f-tion, global dizi: 1328 milisaniye.




 
IgorM :

değiştirildi ve start() öğesini func() içine kopyalandı, Print lansmanı func() 'dan sonra:

2012.03.23 14:11:15 EURUSD testi,H1: yerel dizi: 1313 milisaniye.

2012.03.23 14:11:15 EURUSD testi,H1: global dizi: 1359 milisaniye.

2012.03.23 14:11:15 EURUSD testi,H1: fonksiyon çağrısı.....

2012.03.23 14:11:18 EURUSD testi,H1: fonksiyon, yerel dizi: 1312 milisaniye.

2012.03.23 14:11:18 EURUSD testi,H1: f-tion, global dizi: 1328 milisaniye.

Küresel ve yerel değiştirildi mi? Şimdi önce yerel, sonra küresel. Öbür türlü olmalı.
 
IgorM :

print() işlevini başlattıktan sonra start() değiştirildi ve func() olarak kopyalandı:

2012.03.23 14:11:15 EURUSD testi,H1: yerel dizi: 1313 milisaniye.

2012.03.23 14:11:15 EURUSD testi,H1: global dizi: 1359 milisaniye.

2012.03.23 14:11:15 EURUSD testi,H1: fonksiyon çağrısı.....

2012.03.23 14:11:18 EURUSD testi,H1: fonksiyon, yerel dizi: 1312 milisaniye.

2012.03.23 14:11:18 EURUSD testi,H1: f-tion, global dizi: 1328 milisaniye.

Varsayımların hakları hakkında: yerel bir değişkenin adresi, işlev çağrısı noktasından sayılır, global değişkenin adresi, program çağrısı noktasından sayılır, yani. teorik olarak, global bir değişkene erişmek için bir eylem daha gerçekleştirmeniz gerekir (bir ofset ekleyin).
 
Zhunko : Küresel ve yerel mi değişti? Şimdi önce yerel, sonra küresel. Öbür türlü olmalı.

öyle yaptı, ancak sonuçlar değişmedi ve ayrı bir işlevde dizi kimliği bildirdi, işlevi çağırdı ve global diziye yapılan çağrıyla karşılaştırıldı

alsu , oldukça mantıklı bir varsayım, ancak deneylerim beni komik bir fikre götürdü: lamerler için mql4, oyun sırasında dedikleri gibi uygun olduğunu beyan edin ..))). Unutmazsam belki mql5 üzerinde deneyler yaparım ve tam orada MT5 performansı tartışılır, belki bir şeyler netleşir

 

hiç kimse mql FANN'a taşımaya dahil olmadı mı? http://leenissen.dk/fann/wp/download/ veya NS ile benzer mql kodu

Not: Arama ve Google ile hazır bir NS bile bulamıyorum, .dll'yi FANN ile bağladım, oldukça güvenli çalışıyor ama .dll olmadan istiyorum

 
IgorM :

hiç kimse mql FANN'a taşımaya dahil olmadı mı? http://leenissen.dk/fann/wp/download/ veya NS ile benzer mql kodu

Not: Arama ve Google ile hazır bir NS bile bulamıyorum, .dll'yi FANN ile bağladım, oldukça güvenli çalışıyor ama .dll olmadan istiyorum


Ağı özel yazılımlarla eğitmek daha iyidir. Çok daha hızlı. Kodda kullanmak daha iyidir.
 
Vinin : Ağı özel yazılımlarla eğitmek daha iyidir. Çok daha hızlı. Kodda kullanmak daha iyidir.
bunların hepsi açık, ama çok gerekli ve ... ve şimdi kendimi bir uzman olarak otomatik optimize edici yapmak istiyorum, o kadar ki .dll olmadan :)