Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 129

 
fxsaber :

ME, sistem panosunun önceki değerlerini görebileceğiniz ALT + V kombinasyonuna sahiptir. Tarayıcıdan bir şey kopyalanmış olsa ve ME arka planda çalışıyor olsa bile, ME bunu görecek ve hatırlayacaktır.

Kabaca konuşursak, ME bilgisayarınızda yaptığınız birçok şeyi görür. Örneğin, hesap parolasını arabelleğe yapıştırırsanız, ME geçmişine gider.

Bu megabuffer'a çok şey kopyalıyorum, bu arabelleği temizlemek için ME'yi yeniden başlatmam gerekiyor, ancak ME'yi başlattığımda hala arabellekteki mevcut verileri alıyor, beni zorluyor, zaten temizlemek için en alta bir düğme eklemeyi önerdim. arabellek ve sayı konumları, eklerken içeriğe göre değil, konum numaralarına göre gezinmek daha kolaydır

 
Vitaly Muzichenko :

Vay canına, kripto borsalarından şifreleri kopyalıyorum. Benim için ne kadar kötü?

Örneğin, bilgisayarınıza dışarıdan erişim izni verirseniz (TeamViewer vb.), bundan önce tüm ME'lerden çıkmanız ve arabelleği temizlemeniz önerilir (orada çöp kopyalayın).

 
fxsaber :

ME, sistem panosunun önceki değerlerini görebileceğiniz ALT + V kombinasyonuna sahiptir. Tarayıcıdan bir şey kopyalanmış olsa ve ME arka planda çalışıyor olsa bile, ME bunu görecek ve hatırlayacaktır.

Kabaca konuşursak, ME bilgisayarınızda yaptığınız birçok şeyi görür.

Teşekkür ederim. İlginç. Yalnızca ME'ye kopyalananların değil, tüm uygulamalardaki her şeyin kaydedildiğini eklemeye değer. Özellikle, hangi derinlikte kaydedildiğini kontrol etmek gerekiyor, şimdi kontrol ettim, bu forumdaki bir mesajdaki metinden iki ME'den ve bir metinden üç kopyalanmış metin gördüm.

not; Hatta forumdaki iki metin


 
Her ihtimale karşı, aramaya ve değiştirmeye hiçbir şey girmemesi için bakın. metaeditor.ini'de bu
FindWhatX=text
ReplaceWithX=text
 
fxsaber :

ME, sistem panosunun önceki değerlerini görebileceğiniz ALT + V kombinasyonuna sahiptir. Tarayıcıdan bir şey kopyalanmış olsa ve ME arka planda çalışıyor olsa bile, ME bunu görecek ve hatırlayacaktır.

Kabaca konuşursak, ME bilgisayarınızda yaptığınız birçok şeyi görür. Örneğin, arabellek aracılığıyla başka bir kaynağın bir hesabına veya kişisel hesabına bir parola yapıştırırsanız, bu, geçerli ME oturumunun geçmişine gider.

İlginç bir özellik. Tamponun dosyada değil, bellekte saklanması iyidir.

 

İşte başka bir incelik.

Derleyici, sınıfa ait olmasalar bile, farklı girdi parametreleriyle aynı adı taşıyan işlevlere yemin etmez.

 void OnStart ()
{
 f1( "28-70 ОГО" );
 f1( 1.01 );
}

void f1( string s)
{
 Print ( __FUNCSIG__ , " " , s);
}

void f1( double s)
{
 Print ( __FUNCSIG__ , " " , s);
}

Yürütme sonucu

 2019.03 . 10 10 : 34 : 45.566 ! 00 (EURUSD,H4) void f1( string ) 28 - 70 ОГО
2019.03 . 10 10 : 34 : 45.566 ! 00 (EURUSD,H4) void f1( double ) 1.01
 

Çoklu arabellek düzenleyicideki çalışmayı hızlandırır ve güvenlidir.

Diske hiçbir şey yazmaz ve yalnızca verileri bellekte tutar.

 
Alexey Viktorov :

İşte başka bir incelik.

Derleyici, sınıfa ait olmasalar bile, farklı girdi parametreleriyle aynı adı taşıyan işlevlere yemin etmez.

Yürütme sonucu

Bu normal fonksiyon aşırı yüklemesidir . Her şey standart.

 
Artyom Trishkin :

Bu normal fonksiyon aşırı yüklemesidir . Her şey standart.

Nedense aşırı yüklemenin sadece derslerde işe yaradığını düşündüm. Tek ben olmadığımı düşünmek istiyorum. Belki bu birine yardımcı olur. ))))

 
Optimizer önbelleği aşağıdaki numara ile kapatılabilir
 // Способ выключить кеш оптимизатора
sinput bool inCache = true ; // Выключить кеш оптимизатора

input int Range = 0 ; // 0..10

void OnTesterInit ( void )
{  
   if (inCache)
  {
     MathSrand (( int ) TimeLocal ());
    
     ParameterSetRange ( "inCache" , false , MathRand (), 0 , 0 , 0 );    
  }
}

void OnTesterDeinit ( void ) {}

void OnTesterPass ( void )
{
   static int i = 0 ;
  
   Print (i++); // Признак того, что кеш выключен.
}

double OnTester ( void )
{
   if ( MQLInfoInteger ( MQL_OPTIMIZATION ))
  {
     uchar Data[];

     FrameAdd ( NULL , 0 , 0 , Data);
  }

   return ( 0 );
}


Elbette en iyi çözüm, geliştiricilerin OptimizationCacheOff() işlevini vermesi olacaktır.

Not: bool girdi parametresinin aslında uzun olduğuna dikkat edin. Bu nedenle bool inCache = 1 ve bool inCache = 2 , her iki durumda da doğru olmalarına rağmen farklı girdi parametreleridir.