Optimizasyon sırasında tek seferlik dizi hesaplaması - sayfa 3

 
forexman77 :

Maliyetler daha net. Değişmeyen gösterge ayarlarına ve aynı değerlere sahip, ancak bir diziye dökülen, bir dosyaya önceden yazılmış iki seçenek vardır.

Dosyalı varyantın hesaplanması, Uzman Danışmandaki göstergenin hesaplanmasından çok daha uzun sürer.

Sadece diziyi bir kez kaydetmenin ve optimizasyondaki tüm geçişler için kullanmanın ve böylece algoritmayı boşaltmanın bir yolu olabileceğini düşündüm.

Göstergenin hesaplanmasından daha uzun bir dizi yazmak ve okumak mümkün müdür?

 
forexman77 :
Bunu yaparsanız, yeni bir geçişe geçerken dizi korunur mu?
Evet yapmalıyım..
 
Dmitry Fedoseev :
Evet. Zor veya pahalı değil. İkili modu kullanın. Dosyanın tamamını okuyamazsınız, ancak istediğiniz konumdan okuyabilirsiniz.
 int init()
  {
   int k;
   string Skip;
   datetime Str_DtTm;
   double L;
   Handle= FileOpen (File_Name, FILE_CSV | FILE_READ | FILE_BIN , "," );
   ResetLastError ();
   if (Handle< 0 ) // Failure when opening a file
     {
       if ( GetLastError ()== 4103 )
         Alert ( "There is no file named " ,File_Name);
       else
         Alert ( "Error when opening a file " ,File_Name);
       PlaySound ( "Bzrrr.wav" );
       return ( 0 );
     }
   ArrayInitialize (T, 0 );
   ArrayInitialize (dn, 0 );
   ArrayResize (T,stroki);
   ArrayResize (dn,stroki);
   for (k=stroki- 1 ;k>= 0 ;k--)
     {
       //--------------------------------------------------------- 5 --
      Str_DtTm= FileReadDatetime (Handle); // строка даты
      L= FileReadDouble (Handle);
      Skip= FileReadString (Handle); //пропускаем
       //--------------------------------------------------------- 6 -- 
      T[k]=Str_DtTm;   
      dn[k]=L;   
       //--------------------------------------------------------- 7 --
       if ( FileIsEnding (Handle)== true ){ Print ( "Конец отсчета=" , TimeToString (T[k])); break ;} //завершили отсчет

     }
   FileClose (Handle);

   return ( 0 );
  }

İkili mod, dizeden sayıya dönüşüm olmadığında mı?

Ayrıca bu optimizasyonu uzun bir geçmişe ait 1 dakikalık bir grafiğe ekleyeceğim.

 
include derlemede geçerlidir. Kim derleyecek? Belki bu dizi optimizasyon parametrelerine bağlıdır? Her optimizasyondan önce bir dizi oluşturmak, derlemek anlamına gelir. Kötü bir karar.
 
Dmitry Fedoseev :
include derlemede geçerlidir. Kim derleyecek? Belki bu dizi optimizasyon parametrelerine bağlıdır? Her optimizasyondan önce bir dizi oluşturmak, derlemek anlamına gelir. Kötü bir karar.
icat etmeyin - DONANIM açıkça dizinin değişmez olduğunu söyledi.
 
 
Maxim Kuznetsov :
icat etmeyin - DONANIM açıkça dizinin değişmez olduğunu söyledi.
Bir optimizasyon sırasında değişmedi. Diğer değişmezlik hakkında hiçbir şey yoktu.
 
Elbette, dizi her zaman ve kesinlikle değişmezse, EA kodunu eklemek daha iyidir. Dahil etmeden doğrudan danışman dosyasına gidebilirsiniz.
 
Maxim Kuznetsov :
Evet yapmalıyım..
Dmitry Fedoseev :
Elbette, dizi her zaman ve kesinlikle değişmezse, EA kodunu eklemek daha iyidir. Dahil etmeden doğrudan danışman dosyasına gidebilirsiniz.
Henüz C include ile karşılaşmadım. Lütfen bunun nasıl yapılacağı konusunda beni doğru yöne yönlendirin.
 
forexman77 :
Henüz C include ile karşılaşmadım. Lütfen bunun nasıl yapılacağı konusunda beni doğru yöne yönlendirin.
Dahil etmeden, bir komut dosyasıyla bir dizi kodu oluşturabilir, bir dosyaya yazabilir (bunu Alert() içinde de görüntüleyebilirsiniz), ardından fare ile danışman koduna aktarabilirsiniz.