Hatalar, hatalar, sorular - sayfa 2767

 
Artyom Trishkin :

Tanımladığınız davranışa bakılırsa, bu tamamen farklı bir çalışma algoritmasına sahip farklı bir danışman.

Hepimiz anladık, belki bu terminalin bir hatasıdır veya belki geliştiriciler tarafından tasarlanmıştır, ancak gerçek şu ki, geçmiş üzerinde herhangi bir seti çalıştırdığınızda, testin sonunda bir grafik alıyoruz, ancak gerçek şu ki, belirli çalıştırma dönemi için tüm geçmiş de otomatik olarak gerçek geçmişin üzerine bindirilir.

Sonuçları karşılaştırdım, sonra dergiye gittim ve test cihazından ve gerçek ticaretten gelen pozisyonların açılış fiyatlarını karşılaştırdım, neredeyse hepsi aynı, küçük bir fark var.

Ancak gerçek şu ki, testin bitiminden sonra, bu çizelgede gerçek anlaşmalar üst üste geliyor.

Ne örtüşüyorlarsa, aşağıdakileri yaptım

Günlüğe sağ tıkladım ve otomatik güncellemeyi kapattım, şimdi herhangi bir test bu çizelgede yalnızca test cihazında test sırasında yapılan işlemleri gösteriyor, gerçek işlem gören işlemler burada üst üste binmiyor.

Gruptan insanlardan, bu enstrümanda işlem gören bir şey olduğu süre boyunca robotlarını uzaklaştırmalarını istedim, robotlarla önemli değil, hepsi bu gerçeği doğruladılar ki, test cihazının işlemlerine ek olarak, işlem gören gerçek işlemler de geçmiş, çizelgede üst üste bindirilir.


Kendiniz deneyin, herhangi bir enstrümanda anlaşmalarınız varsa, bu süre zarfında herhangi bir robotu çalıştırın ve bu anlaşmaların grafikte üst üste geldiğini ve otomatik güncelleme devre dışı bırakılırsa gerçeklerin çakışmayacağını göreceksiniz.

Geliştiricileri bilgilendirmeye değer olduğunu düşünüyorum, prensip olarak, bu hatayı beğendim, şimdi robotu bir haftalığına takas edebilir, aynı süre boyunca test cihazında çalıştırabilir ve takaslardaki farkı grafikte karşılaştırabilirsiniz, ideal olarak farklı olmalıdır bir çift kene

 
Konstantin Seredkin :

Test kullanıcısının işlemlerine ek olarak, geçmişte işlem görmüş gerçek işlemler de grafikte üst üste bindirilir.

Bu davranış, özel semboller kullananlar tarafından görülmez. Ancak gerçek karakterler için oldukça uygunsuz görünüyor.

 

Hata ayıklayıcıda GetLastError() değeri; alamıyor musun?

yalnızca değişken veya önceden tanımlanmış _LastError aracılığıyla mı?

Dosyalar:
 
awsomdino :

Hata ayıklayıcıda GetLastError() değeri; alamıyor musun?

yalnızca değişken veya önceden tanımlanmış _LastError aracılığıyla mı?

Evet. Bu, _Value için uygundur.

 
fxsaber :

Evet. Bu, _Value için uygundur.

belki geliştiriciler GetLastError () işlevinden hata ayıklayıcıda izleme yeteneği ekler;

aksi takdirde bu kullanışlı ve basit 2 satır işe yaramaz

   if ( GetLastError ()> 0 )
       DebugBreak ();
 
awsomdino :

belki geliştiriciler GetLastError () işlevinden hata ayıklayıcıda izleme yeteneği ekler;

aksi takdirde bu kullanışlı ve basit 2 satır işe yaramaz

Sadece bu özelliği kullanmayın.

 

Düzeltmelerin geçmişteki "incelenmesinden" gelen girişlerin sayısını en aza indirmek için önceden düzeltilen kusurlar taşınmadı:

Şablon işlevinin/sınıfının çalışmasındaki kusurlar:
(MT5(build 2474) tarafından düzeltilmedi ) *** Derleme Hatası, bir şablon işlevinin şablon parametresi için dahili sınıfa erişmeye çalışırken oluşan hata.
(MT5(build 2474) tarafından düzeltilmedi ) ** Derleme Hatası, dönüş değeri, parametre tipi şablon işlevi argümanının türü tarafından verilen şablon sınıfının içinde bulunan bir dahili sınıf olduğunda, hata bir şablon işlevinin dönüş değerini etkiler .
(MT5(build 2474) tarafından düzeltilmedi ) ** Derleme Hatası, kalıtımda ve dahili sınıfta aynı sınıf adı kullanıldığında temel sınıf çağrılırken şablon yapıcısında ad alanı ve kapsamla ilgili hata.
(MT5(build 2474) tarafından düzeltilmedi ) * Derleme Hatası, çağrı aşırı yüklenmiş şablon olmayan bir işlevden yapıldığında açık argüman türleriyle bir şablon işlevi çağrılırken oluşan hata.
(MT5(build 2474) tarafından düzeltilmedi ) Derleme Hatası, dahili sınıf tanımlanırken hata - temel sınıf belirtilirken genel ad alanına açıkça başvurmak mümkün değildir.

( MT5(build 2474) tarafından düzeltilmedi ) * Açık bir temel sınıf aracılığıyla bir atama operatörü çağrılırken Derleme Hatası. Sorun, şablon parametresi temel sınıf olan bir şablon sınıfı için kendini gösterir.
(MT5(build 2474) tarafından düzeltildi )) şablon parametresi temel sınıf olduğunda bir şablon sınıfında miras alınırken varsayılan erişim değiştiricisi kullanılırken Derleme Hatası.

( MT5(build 2474) tarafından düzeltildi )) * (yeni) Derleme Hatası, şablon sınıfından ad alanından miras alınırken derleme hatası.
( MT5(build 2474) tarafından düzeltildi )) ** (yeni) Derleme Hatası, işaretçi nesnesinden varsayılan operatör='e erişim yok.
(MT5(build 2474) tarafından düzeltilmedi )) *** (yeni)
Derleme Hatası, sınıf şablonu yönteminin ileri bildirimi için derleme hatası .
(MT5(build 2474 tarafından düzeltilmedi )) ** (yeni) Sınıf, bu sınıfı alan olarak kullanan bir sarmalayıcı sınıfına işaretçi içerdiğinde Derleme Hatası .


C++ ile karşılaştırıldığında MQL'de aşırı yüklenmiş işlev çağrısı önceliklerinin uyumsuzluğuyla ilgili kusurlar:
(MT5(build 2474) tarafından düzeltilmemiştir ) ** Aşırı yüklenmiş şablon işlevlerinden ilki tamamen özelleştirilmiş bir şablon temel sınıfını ve ikincisi özel olmayan bir şablon temel sınıfını kullandığında Derleme Hatası.
(MT5(build 2474) tarafından düzeltilmemiştir ) ** Derleme Hatası, şablon işlev kodu oluşturulurken, geçirilen parametreler için uygun bir imzaya sahip aşırı yüklenmiş bir şablon işlevi olmasına rağmen bir derleme hatası oluşur.
(MT5(build 2474) tarafından düzeltilmedi ) * Derleme Hatası, farklı sayıda şablon parametresiyle aşırı yüklenmiş şablon işlevleri çağrılırken "aşırı yüklenmiş işleve belirsiz çağrı".

(MT5(build 2474) tarafından düzeltilmedi ) *** Derleme Hatası, aşırı yüklenmiş şablon işlevlerinin çağrı önceliklerinde hata..
( MT5(build 2474 tarafından düzeltilmedi )) ** Derleme Hatası, bir renk veri tipine sahip bir argüman için bir fonksiyon çağrılırken, bir renk veri tipine sahip aşırı yüklenmiş bir şablon fonksiyonu olmasına rağmen örtük tipte bir konuşma uygulanır. imza ile eşleşir.
(MT5(build 2474) tarafından düzeltilmemiştir ) * Derleme Hatası, açık uzmanlaşmaya rağmen, aşırı yüklenmiş bir şablon işlevi çağrılırken hala varsayılan şablon işlevi çağrılır, bu da yığın taşmasına neden olur..
(MT5(build 2474) tarafından düzeltilmedi ) * Derleme Hatası, bir işlev işaretçileri dizisi kullanıldığında işaretçisi aracılığıyla bir işlev çağrılırken derleme hatası .
( MT5(build 2474) tarafından düzeltildi )) * (yeni) Derleme Hatası, ad alanında aşırı yüklenen işlevlerin çağrı önceliği ile ilgili sorunlar.

MetaEditor ile ilgili hatalar:
(ME5(build 2474) tarafından sabitlenmedi ) *** Hata ayıklayıcı, bir yapı statik yönteminde bir kesme noktasına ulaşmak MT terminalinin donmasına neden oluyor.
(ME5(build 2474) tarafından düzeltilmedi ) ** Derleme, derleme hatasının açıklaması 256 karakterlik sınıra uymuyor ve kısaltılıyor, sonuç olarak hatanın hangi veri türü için oluştuğunu anlamak imkansız, çünkü gerekli kısım kesildi.
(ME5(build 2474) tarafından düzeltildi ) ** Hata Ayıklayıcı, StepInto (F11) çalışmıyor ve kesme noktaları ayarlandı.
( ME5(build 2474) tarafından düzeltildi )) * Hata ayıklayıcı, bir kesme noktası tetikledikten sonra, (F5) tuşuna basıldığında kod yürütmeye devam etmek yerine, aslında herhangi bir kod çalıştırmadan aynı kesme noktasını yeniden tetikler.
(ME5(build 2474) tarafından düzeltilmedi )) * Derleme, Hata Açıklaması ve Parametre bilgisinde hatalı işlev şablonu parametre imzası.
(ME5(build 2474 tarafından sabitlenmedi )) * MetaEditor, Değiştir (Ctrl + H) işlevi, gerekli uygulama alanı seçildiğinde etkinleştirilmiş "Seçimde" ile birlikte "Geri yön" için çalışmaz ve tüm kod.
( ME5(build 2474) tarafından sabitlenmedi )) * (yeni) MetaEditor, bir kesme noktasına basıldığında, kullanıcı, giriş koşulunun karşılandığı, ancak gerçekte olmayabileceği konusunda yanıltır.


İşlevlerin yavaş yürütülmesiyle ilgili kusurlar, kod iyileştiricinin çalışması:
( MT5(build 2474) tarafından düzeltildi )) ** ( yukarı ) ArrayResize kullanarak diziye bir öğe eklerken çalışma zamanı, büyük ek yük Yavaş.


Teklifler:
- ME'ye ekle mevcut Proje için ara/değiştir, aksi takdirde, yeniden düzenleme yaparken, dosyaların her birini gözden geçirin ve bir şekilde çok iyi olmayan bir giriş arayın.
link - ME'de, derlerken, Dosya, Satır, Sütun boş sütunlarını, eklemenin yapıldığı kaynak dosya hakkında ilgili bilgilerle doldurun.
link - sınıflardaki statik yöntemler için intellisense çalışmasına dayalı ad alanı işlevselliği için intellisense desteğinin uygulanması hakkında.
link - değişmez değerleri ve geçici değişkenleri const ref işlev argümanları olarak iletme yeteneği sağlama hakkında.
bağlantı - "Proje" sekmesindeki proje dosyalarını taşırken, açık olan ve ME sekmelerinde bulunan dosyaları taşımak için konum yollarını otomatik olarak günceller.
link - MQL typedef bildirimine işlevsellik ekleme ihtiyacı hakkında.
bağlantı - varsayılan kopya oluşturucuların ve atama operatörlerinin oluşturulmasını zorlama yeteneği sağlama hakkında.

 
Sergey Dzyublik :

Düzeltmelerin geçmişteki "incelenmesinden" gelen girişlerin sayısını en aza indirmek için, önceden düzeltilen kusurlar taşınmadı:
...

Listenizde var mı? Değilse, lütfen ekler misiniz?

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Yanlış MQL sözdizimi?

Dan Marinescu , 2020.05.27 22:47

Genel bir arayüz tanımladım ve onu başka bir sınıfta kullanmak istiyorum. Bu kodda neyin yanlış olduğunu anlayamıyorum:

 #property  strict

template < typename T> interface IGenericHandler {
     bool Handle(T &item);
};

#define  DOES_NOT_WORK

class GenericHandler {
     public :
#ifdef  DOES_NOT_WORK   
         template < typename T> bool Handle(T &val, IGenericHandler<T> *handler);
#else   
         template < typename T> bool Handle(T &val, IGenericHandler<T> *handler) { return false ; }
#endif        
 };

#ifdef  DOES_NOT_WORK
template < typename T> bool GenericHandler::Handle(T &val, IGenericHandler<T> *handler) { return false ; }
#endif 

DOES_NOT_WORK tanımlı değilse, her şey çalışır. Ancak DOES_NOT_WORK tanımlandığında derleyici şöyle der:

'Handle' - member function already defined with different parameters

Niye ya?


 
Alain Verleyen :

Listenizde var mı? Değilse, lütfen ekler misiniz?

Eklediğiniz için teşekkürler, evet listede bu sorunun açıklaması var:
(MT5(build 2474) tarafından düzeltilmedi )) *** (yeni) Derleme Hatası, sınıf şablonu yönteminin ileri bildirimi için derleme hatası .

 
Sergey Dzyublik :

Eklediğiniz için teşekkürler, evet listede bu sorunun açıklaması var:
(MT5(build 2474) tarafından düzeltilmedi )) *** (yeni) Derleme Hatası, sınıf şablonu yönteminin ileri bildirimi için derleme hatası .

Harika teşekürler.