Hatalar, hatalar, sorular - sayfa 1435

 

İlk başta bunun göstergelerimde bir sorun olduğunu düşündüm ve sonra her şeyin hatalı olduğunu fark ettim.

Terminali yüklüyorum - alıntıların geçmişi eski kalıyor (önceki oturum yokmuş gibi) ve geçmiş otomatik olarak güncellenmiyor.

Fiyat eskidir, ancak gösterge tamponları bir nedenle önceki hesaplamayı (yeni fiyatların) gösterir.

Piyasa açık olduğunda, "saçmalık" güncellenir (görünüşe göre yeni bir tık üzerinde) ve her şey normale döner.

Piyasa kapandığında, fiyatları zorla güncellemezseniz "hafta sonu için" arabelleklerdeki "çöpleri" düşünebilirsiniz.

Netlik sağlamak için, bir dizi MT5 göstergesinden standart bir SMA içeren bir grafik ekliyorum:

Örneğin standart gösterge

Build 2010 ve eskileri benzerdi.

 

MT5'e ne oldu?

sabah kalktı ve strateji testinde tek bir danışman çalışmıyor ... pozisyonlar açılmadı ...

dün gece herkes çalıştı... ve bugün 10'dan fazla danışman çalışmayı bıraktı

hem eski hem yeni

 

Derleme hatası: kod oluşturma hatası

 class A { public :
         void g() {}
};
struct B {
/**/     virtual void f() { g(); }
        virtual void g() {}
};
A *f() export { return new A() ; }
void OnStart ()
{
        f().g();
}
Örneğin, dışa aktarmayı kaldırırsanız veya /**/ satırına yorum yaparsanız, bu (hata) ortadan kalkar, bu da derleyicinin iyileştirilmesi gerektiği anlamına gelir.
 

Web reklam öğelerinin eklerdeki dosya adlarını değiştirme çılgınlığı nedir?

Kişiye gerekli adı IndicatorCAF.ex4 olan derlenmiş bir gösterge gönderiyorum. Ekte, "akıllı site" adı gerektiği gibi yeniden yazar: Indicator0AF_01.ex4

Nedenini söyle? Bunun pratik anlamı nedir? Çirkin gerçek nedir? Pekala, tamam, Rus isimlerini anlamıyor ve onları istediği gibi yeniden adlandırıyor - yine de burada anlayabilirsiniz. Ama neden İngilizce yazılmış bir dosyanın adını bazı ilkelerine göre başka bir şeye değiştirelim? Bu bir isim, hesap değil...

GöstergeCAF.mq4'ü seçiyorum


Mesaja eklenen ad doğru: IndicatorCAF.mq4


Bir mesaj gönderiyorum ve işte...

Aynı zamanda, nedense, _01 önceki ex4 dosyasına eklendi (sorularım vardı) ...

Böyle bir dosyayı zaten böyle bir adla eklerdim - anlaşılabilir, ancak bu ilk dosya. Henüz yazışmalarda böyle bir isim yoktu.


Ve daha da komik olanı - MetaEditor Sürümümde derlenen ex4 dosyası: 5.00 build 1214 12 Kasım 2015, bu dosyayı verdiğim kişinin terminalinde grafik nesneleri göstermiyor. Ayrıca bir MT4 terminali, build 910 ve bir editör de var MetaEditor Version: 5.00 build 1214 12 Kasım 2015.

Göstergenin evde derlediği kaynak, normalde terminalinde düzgün çalışan yürütülebilir bir dosya oluşturur.

Ne tür hatalar bunlar?

Ve sonra bariz soru ortaya çıkıyor: Editörümde piyasa için derlenen programlar nasıl davranacak? Terminal yapısı 910'dur, ancak yeni derleyici nedeniyle önceki sürümlerle uyumlu değildir. Editörümde derlenen piyasadaki programlar işe yarar mı?

 

Terminal.exe'deki bu simge neden bu kadar düşük kaliteli? Ayrıca dosya sistemindeki tüm .ex5'leri görüntülemek için kullanılır.

(1'den numaralandırılıyorsa terminal.exe'den arka arkaya 3.

Simgelerin geri kalanı normal kalitededir, örneğin

(1.) ve (geçen)

 

Derleyici hatası: ağaç optimizasyon hatası

 #property library
class A {};
A *f() export { return new A; }
void g() {}
int h( int a, int b ) { return b; }
class B {
       virtual int function() { return h( int (g()), 1 ); }
};

Ve sanal anahtar kelimesini kaldırırsanız

 class B {
              int function() { return h( int (g()), 1 ); }
};
o halde tamam. Ve nasıl etkiledi?
 
A100 :

Derleyici hatası: ağaç optimizasyon hatası

Ve sanal anahtar kelimesini kaldırırsanız

o halde tamam. Ve nasıl etkiledi?
??? uyuyakalmış mıyım? artık yöntemleri de dışa aktarmak mümkün mü? İhracat için sınıflar da mevcut mu?
 
coderex :
??? uyuyakalmış mıyım? artık yöntemleri de dışa aktarmak mümkün mü? İhracat için sınıflar da mevcut mu?

Hangi satır yöntemin dışa aktarıldığını gösterir? İşaretçi her zaman döndürülebilir. f() bir sınıf yöntemi değildir - kendi içinde bir işlevdir.

Ayrıca, belirli bir satıra bağlı olmayan soyut bir 'ağaç optimizasyon hatası' hatasından bahsediyoruz ki bu başlı başına bir hatadır. Ayrıca, basit bir "dize permütasyonu" (sanal anahtar kelimeyi kaldırarak) ile ortadan kaldırılırsa, bu iki kat bir hatadır.

 
A100 :

Hangi satır yöntemin dışa aktarıldığını gösterir? İşaretçi her zaman döndürülebilir. f() bir sınıf yöntemi değildir - kendi içinde bir işlevdir.

Ayrıca, belirli bir satıra bağlı olmayan soyut bir 'ağaç optimizasyon hatası' hatasından bahsediyoruz ki bu başlı başına bir hatadır. Ayrıca, basit bir "dize permütasyonu" (sanal anahtar kelimeyi kaldırarak) ile ortadan kaldırılırsa, bu iki kat bir hatadır.

yazım hatası, yöntem hakkında bir sınıf nesnesi yazmak istedim (sonuçta gece oldu :))

A *f() export { return new A; }

ve yazdıklarınıza itiraz etmiyorum, gördüklerime sadece şaşırdım çünkü ihracat sertifikasında yalnızca işlevlerle ilgili olarak belirtilir, ancak nesnelerin de dışa aktarılabileceği ortaya çıktı.

 
BaTTLeBLooM :

MT5'e ne oldu?

sabah kalktı ve strateji testinde tek bir danışman çalışmıyor ... pozisyonlar açılmadı ...

dün gece herkes çalıştı... ve bugün 10'dan fazla danışman çalışmayı bıraktı

hem eski hem yeni

Lütfen sorunu daha ayrıntılı olarak açıklayın. Hangi yapı, hangi işletim sistemi, bitlik? Test kullanıcısı günlüklerinde neler var?