Bir ticaret robotunu piyasaya sürerken doğrulama hatası. - sayfa 4

 

Merhaba!

Bugün doğrulayıcı bir mesaj vermeye başladı:

Üç uzman tarafından kontrol edildi, 10 saniye ve reddedildi. Sorun ne olabilir, Belki yazılımla ilgili bir şeyiniz var ?!

PS OnTick()'i kontrol etmek için baskıyı ilk satıra koydum:

Test edenin raporu boş olamaz!!! Günlüklerim dolu:


 
Andrey Kaunov :

Bugün doğrulayıcı bir mesaj vermeye başladı:

Gitmişti. Doğrulayıcı hatası.

 
Andrey Kaunov :

Merhaba!

Bugün doğrulayıcı bir mesaj vermeye başladı:

Mesaj için teşekkürler. Düzeltildi.

 

Evet, Validator kazandı. Ama şimdi başka bir bilinmeyen oyun. Bu sonucu vermek için kullanılan doğrulayıcı

Aynı zamanda, test cihazımda her şey yolunda. Kontrol koduna bir koltuk değneği koydum (sıfıra bölerek):


Ve alınan:

Test sırasında doğrulayıcının hala emir açma işlevine girdiği ortaya çıktı. Neden verdiği tamamen anlaşılmaz: ticaret işlemi yok

 
Andrey Kaunov :

Evet, Validator kazandı. Ama şimdi başka bir bilinmeyen oyun. Bu sonucu vermek için kullanılan doğrulayıcı

Aynı zamanda, test cihazımda her şey yolunda gidiyor. Kontrol koduna bir koltuk değneği koydum (sıfıra bölerek):


Ve alınan:

Test sırasında doğrulayıcının hala emir açma işlevine girdiği ortaya çıktı. Neden verdiği tamamen anlaşılmaz: ticaret işlemi yok

Büyük olasılıkla, bir sipariş gönderirken bir hata oluşur ve günlükte GetLastError ile bir şey yazdırılır. MQL'ye Throw(code) gibi bir fonksiyon eklenirse harika olurdu, bu da sıfıra bölmeye benzer bir durmaya yol açar, ancak bir kod döndürür, daha sonra günlükte bir ipucu almak için Throw(GetLastError()) yazılabilir. . Bu arada, TerminalClose(retcode) işlevi var - kullanmayı deneyebilirsiniz, ancak bunun otomatik test cihazında basitçe devre dışı bırakıldığından şüpheleniyorum.

 

Tamamen katılıyorum.

İdeal olarak, elbette, doğrulayıcı yalnızca üç satırlık bir rapor değil de test günlükleri gönderirse. O zaman hatanın veya kusurun ne olduğunu bulma şansı olacak ve parmağınızı gökyüzüne sokmak değil.

Lütfen bir düşünün.

 
Andrey Kaunov :

Tamamen katılıyorum.

İdeal olarak, elbette, doğrulayıcı yalnızca üç satırlık bir rapor değil de test günlükleri gönderirse. O zaman hatanın veya kusurun ne olduğunu bulma şansı olacak ve parmağınızı gökyüzüne sokmak değil.

Lütfen bir düşünün.

Bunun yerine, ticaret işlevleriyle çalışma mantığını doğru bir şekilde derlemek yerine belirli bir hatayı atlamanın (gizlemenin) yolları olacaktır. "Aptal" giriş parametrelerinin doğru hesaplanması ve işlenmesi veya ticaret için ticaret koşullarının yanlış hesaplanması ile herhangi bir doğrulama hatası olmamalıdır.

 

Evet bu bir hata değil, nasıl bir oyun anlamadım. Ticaret fonksiyonundan önce bir koltuk değneği (sıfıra böl) koydum:

Ateş ediyor:

Kaldırıyorum, zaten değişmeden veriyor

ticaret işlemleri yok.

Doğrulayıcının bu OrderSend() işlevini yapmasını neyin engellediğini anlamıyorum. Sonuçta, eğer ona ulaşırsa, ayar hataları (hepsini düzeltmiş olmama rağmen) 130, 131, 134, ... olmalı ve " ticaret işlemi yok " değil. Sadece OnInit'e () kaydolmak için kalır, çalışmaması için uzak bir yerde bir tür gecikme ayarlayarak, bununla nasıl başa çıkacağımı bilmiyorum.

 
Andrey Kaunov :

Evet bu bir hata değil, nasıl bir oyun anlamadım. Ticaret fonksiyonundan önce bir koltuk değneği (sıfıra böl) koydum:

Ateş ediyor:

Kaldırıyorum, zaten değişmeden veriyor

ticaret işlemleri yok.

Doğrulayıcının bu OrderSend() işlevini yapmasını neyin engellediğini anlamıyorum. Sonuçta, eğer ona ulaşırsa, ayar hataları (hepsini düzeltmiş olmama rağmen) 130, 131, 134, ... olmalı ve " ticaret işlemi yok " değil. Sadece OnInit'e () kaydolmak için kalır, çalışmaması için uzak bir yerde bir tür gecikme ayarlayarak, bununla nasıl başa çıkacağımı bilmiyorum.

Tünaydın. Burada daha önce yazdığım işlevi eklemeye çalışın.
 
Büyük ihtimalle onunla ilgili.
Neden: