Hatalar, hatalar, sorular - sayfa 1812

 
Sergei Vladimirov :

"Doktor, bir şey canımı acıtıyor!" © )

Böyle bir ifadenin bir örneğini gösterin. Tekrarlanabilir. O zaman bir şey cevaplanabilir.

ulong PackMagic( int bs, int type, int frac, int ll) //bs=0 - sell, bs=1 - buy (в смысле ll), type - это тип FPST
     {
         int d1;
         ulong i, frac1=frac, ll1=ll, type1=type;
        
        i= 1 ; d1= 10 ;
         while (ll>=d1) {d1=d1* 10 ; i=i+ 1 ;}
              
         if (type== 0 || type== 2 ) return (frac1+ll1*Pow10frac_length+i*Pow10(frac_length+i)+
         type1*Pow10(frac_length+i+ 1 )+bs*Pow10(frac_length+i+ 2 )+Id1_class*Pow10(frac_length+i+ 3 ));
         else return (ll1+i*Pow10(i)+type1*Pow10(i+ 1 )+bs*Pow10(i+ 2 )+Id1_class*Pow10(i+ 3 ));
     }    
    
     ulong Pow10( ulong power) // power>0
     {
         ulong r= 10 ;
         if (power== 0 ) return 1 ;
         for ( ulong i= 2 ; i<=power; i++) r=r* 10 ;
         return r;
     }

Sorun PackMagic işlevindedir. Dış değişkenler int frac_length=2; int Pow10frac_length=100; int Id1_class=1;.

 
Sergey Kudryavtsev :
Sorun PackMagic işlevindedir. Dış değişkenler int frac_length=2; int Pow10frac_length=100;.
Örnek bir hata vermemişsiniz. Bu işlev, argümanların hangi değerleri için yanlış bir değer (ne?) döndürür ve doğru sonuç ne olmalıdır?
 
Sergei Vladimirov :
Örnek bir hata vermemişsiniz. Bu işlev, argümanların hangi değerleri için yanlış bir değer (ne?) döndürür ve doğru sonuç ne olmalıdır?

Örneğin:

Id1_class=1, bs=0, type=0, frac=99, ll=1, frac_length=2, Pow10frac_length=100, dönüş 11299 döndürdü.

1001199 olmalıdır. Expert Advisor'da, sınıfta işlevler, Open'da demo hesabı.

Bir hata durumunda 11299'un her zaman döndürüleceği bir gerçek değildir.

 
Oynanabilir değil. Bu parametrelerle, işlev sürekli olarak 1001199 döndürür. İşlevin kendisinde de hata yoktur. Yani söylenecek bir şey yok. Büyük ihtimalle Expert Advisor'daki problem bu fonksiyonda değil başka bir yerdedir ve parametre değerleri beklediğinizden farklı fonksiyona geçmektedir. Buna göre, sonuç beklenenden farklıdır.
 

yeniden üretildi. Kodunuzu bir script içerisine yazdım hata ayıklama modunda başlatıldığında doğru değeri (1001199) veriyor ve eğer sürümü derleyip MT5'te ağaçtan çalıştırırsanız stabil olarak 11199 veriyor.Sorunu lokalize edebildim, işte onu yeniden üreten kod:

int frac_length = 2 ;

void OnStart ()
{
        
         ulong i = 1 ;

         ulong a1 = Pow10(frac_length + i);
         ulong a2 = Pow10(frac_length + i + 1 );
         ulong a3 = Pow10(frac_length + i + 2 );
         ulong a4 = Pow10(frac_length + i + 3 );
        
         Print ( IntegerToString (a1), " " , IntegerToString (a2), " " , IntegerToString (a3), " " , IntegerToString (a4));

}  

ulong Pow10( const ulong power)
{
         ulong r = 10 ;
        
         if (power == 0 )
                 return 1 ;
                
         for ( ulong i = 2 ; i <= power; i++)
                r = r* 10 ;
                
         return r;
}

Hata ayıklama modunda düzgün çalışır. Ancak, MT5'te gezginden bir sürüm başlatırken, ya saçmalık verir ("1000 10000 100000 1000000" yerine 1000 10000 100 100") veya MT5 genellikle işlemci çekirdeklerinden birinin tam yüküyle donar.

İki şekilde tedavi edilir. Ya şöyle:

         ulong a1 = Pow10(frac_length + i);
         ulong a2 = Pow10(frac_length + i + ( ulong ) 1 );
         ulong a3 = Pow10(frac_length + i + ( ulong ) 2 );
         ulong a4 = Pow10(frac_length + i + ( ulong ) 3 );

Veya global frac_length değişkenini Start() işlevinin içinde hareket ettirerek.

Bu gerçekten bir derleyici hatasıdır, servis masasına yazın .

 
MT4, 1.8 Gigabayt (RAM) ağırlığına sahip olmaya başladı. Tüm UPU'yu yedim, ikinci terminali gerçekten açamıyorum. Bana MT'den RAM'in nasıl "temizleneceğini" söyleme?
 

Bir Pazar Ürünü için yeni yayınlanmış bir kendi incelemenizin üzerine geldiğinizde, birkaç öneri/eylem görünür. "Düzenle"yi seçer ve incelemeyi değiştirirseniz, "Güncelle"ye tıkladıktan sonra "Hak yok" hatası açılır.

SD'de uygulama oluşturulamıyor - Bir hata oluştu.

 
fxsaber :
Bir Pazar Ürünü için yeni yayınlanmış bir kendi incelemenizin üzerine geldiğinizde, birkaç öneri/eylem görünür. "Düzenle"yi seçer ve incelemeyi değiştirirseniz, "Güncelle"ye tıkladıktan sonra "Hak yok" hatası açılır.

Lütfen tarayıcınızın adını ve sürümünü belirtin.
Chrome 56.0.2924.87'de, geri çağırma sayfasını hem manuel olarak yenileyerek hem de yenilemeden uçuş normaldir.

 
fxsaber :

SD'de uygulama oluşturulamıyor - Bir hata oluştu.

Açıkçası, www.mql5.com için çerezi temizlemeniz gerekiyor.
Görünüşe göre, CSRF karşıtı belirteçleri kontrol etme ilkeleri güncellendi.

Kromda şu şekilde yapılabilir:
www.mql5.com web sitesindeyken F12 tuşuna basın => geliştirici panelinde Uygulama sekmesine gidin => Çerezler bölümü => çerez girişlerinde RMB => Tümünü sil ...
 
Sergey Dzyublik :

Lütfen tarayıcınızın adını ve sürümünü belirtin.
Chrome 56.0.2924.87'de, geri çağırma sayfasını hem manuel olarak yenileyerek hem de yenilemeden uçuş normaldir.

Taşınabilir Krom Versiyon 45.0.2454.85 + Fırkateyn.