Hatalar, hatalar, sorular - sayfa 1812
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
"Doktor, bir şey canımı acıtıyor!" © )
Böyle bir ifadenin bir örneğini gösterin. Tekrarlanabilir. O zaman bir şey cevaplanabilir.
{
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;.
Ö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.
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:
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 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 .
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.
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.
SD'de uygulama oluşturulamıyor - Bir hata oluştu.
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 ...
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.