Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 601

 

Merhaba!

Tavsiyede bulunun, bir çözüm bulun veya nerede, ne okunacağını dürtün.

Sorunu çözüyorum: iCustom () çağrılırken hata işleme ...

 // MQL4
void OnTick ()
{
....
   ResetLastError ();
   double val= iCustom ( NULL , 0 ,INDUK_NAME,..., i);
   if ((nErr= GetLastError ())> 0 )
   {
       Print ( "Error in " , __FUNCTION__ , " code=" ,nErr);
       ExpertRemove ();
       return ;
   }
...
}

Bu kod yapısı, test cihazında EA'da hata ayıklarken "türkiye" "dizi menzil dışı" mesajıyla çökerse EA'nın sonlandırılmasını işlemez.

 
Sınırların dışında bir dizi kritik bir hatadır, bundan sonra program yürütme durur ve başka kod yürütülmez. Bu nedenle, bu hata işleyiciniz çalışmıyor. Evet ve bu durumda hata kodu gerekli değildir - dergide ayrılma nedeninin ne olduğu siyah beyaz olarak yazılmıştır. Hatta olayın olduğu çizgi ve pozisyon bile belirtilir.
 
Sergei Vladimirov :
Sınırların dışında bir dizi kritik bir hatadır, bundan sonra program yürütme durur ve başka kod yürütülmez. Bu nedenle, bu hata işleyiciniz çalışmıyor. Evet ve bu durumda hata kodu gerekli değildir - dergide ayrılma nedeninin ne olduğu siyah beyaz olarak yazılmıştır. Hatta olayın olduğu çizgi ve pozisyon bile belirtilir.

1. Hatanın günlükte olduğunu ve kritik olduğunu biliyorum

2. Test cihazının neden EA'yı durdurmadığını anlamıyorum ve zorla "durdur" düğmesine basmak zorunda mıyım?

3. Kritik hatalar durumunda Expert Advisor'ın çalışmasını ve kullanıcı ile etkileşimini uygun bir şekilde organize etmek için istisnaları (istisna) ele almak için herhangi bir dil yapısı var mı?

 
fromme2you :

1. Hatanın günlükte olduğunu ve kritik olduğunu biliyorum

2. Test cihazının neden EA'yı durdurmadığını anlamıyorum ve zorla "durdur" düğmesine basmak zorunda mıyım?

3. Kritik hatalar durumunda Expert Advisor'ın çalışmasını ve kullanıcı ile etkileşimini uygun bir şekilde organize etmek için istisnaları (istisna) ele almak için herhangi bir dil yapısı var mı?

EA'nın kendi kodunda kritik bir hata (örneğin, 0'a bölme veya dizinin sınırlarının dışında) meydana gelirse test cihazı durur.

Kodu test cihazında veya gerçek hayatta durdurmaktan kaçınabilirsiniz, bence, yalnızca uygun kontrolleri koda dahil ederek. Hangi her zaman mümkün değildir. Bu, özellikle başka birinin kodunu kullanırsanız veya başka birinin kodunu ürününüze alt program olarak eklerseniz geçerlidir.

Diğer bir zor yol da günlük günlüklerini programlı olarak okumaktır.

 
Yuri Evseenkov :

EA'nın kendi kodunda kritik bir hata (örneğin, 0'a bölme veya dizinin sınırlarının dışında) meydana gelirse test cihazı durur....

Diğer bir zor yol da günlükleri programlı olarak okumaktır.

Apaçık. Cevap için teşekkürler.

Başka bir soru: MT4 geliştiricisini ve MQL kod yürütme ortamını nasıl zorlayabilir, böylece (onlar) aklını ve ellerini benim örneğimdeki veya benzer anlamdaki gibi istisna işleme için bir dil geliştirmeye verir?

 
fromme2you :

Apaçık. Cevap için teşekkürler.

Başka bir soru: MT4 geliştiricisini ve MQL kod yürütme ortamını nasıl zorlayabilir, böylece (onlar) aklını ve ellerini benim örneğimdeki veya benzer anlamdaki gibi istisna işleme için bir dil geliştirmeye verir?

Servis masasına başvurun, forumda bir konu/anket oluşturun.

Çok uzun zaman önce, MT4 genellikle gömüldü. Şimdi eğilim, tersine dönmediyse, en azından son zamanlarda platform ve dil önemli ölçüde modernize edildi.

 
Yuri Evseenkov :

Servis masasına başvurun, forumda bir konu/anket oluşturun.

Çok uzun zaman önce, MT4 genellikle gömüldü. Şimdi eğilim, tersine dönmediyse, en azından son zamanlarda platform ve dil önemli ölçüde modernize edildi.

2009 yılında ilk kez toprağa verildi

 

Merhaba. Bu sorunu nasıl çözeceğim konusunda bilgisi olan yardımcı olabilir mi? Barların açılış fiyatlarını belirli bir saatte, örneğin 01:00'de, örneğin son 50 barı analiz ederek bulmanız gerekiyor. Göreve mql5'te nasıl daha iyi yaklaşacağımı bilmiyorum.


Ya mevcut tarihin hesaplanması + buna gerekli sürenin eklenmesi ve ardından zaten günlerin eklenmesi yoluyla, bu yöntem mql4'te çalıştı.

mql5'te anladığım kadarıyla zamanın çıktısı olan özel yapılar var ama nedense onların içinden geçmiyor.

Cevabınız için şimdiden teşekkür ederiz.

Birisi düşünme yönünü anlamak için bir kod parçası atarsa çok minnettar olurum.
 
Alex :

Merhaba. Bu sorunu nasıl çözeceğim konusunda bilgisi olan yardımcı olabilir mi? Barların açılış fiyatlarını belirli bir saatte, örneğin 01:00'de, örneğin son 50 barı analiz ederek bulmanız gerekiyor. Göreve mql5'te nasıl daha iyi yaklaşacağımı bilmiyorum.


Ya mevcut tarihin hesaplanması + buna gerekli sürenin eklenmesi ve ardından zaten günlerin eklenmesi yoluyla, bu yöntem mql4'te çalıştı.

mql5'te anladığım kadarıyla zamanın çıktısı olan özel yapılar var ama nedense onların içinden geçmiyor.

Cevabınız için şimdiden teşekkür ederiz.

Birisi düşünme yönünü anlamak için bir kod parçası atarsa çok minnettar olurum.
Bir göstergede mi yoksa bir EA/komut dosyasında mı?
 
merhaba. böyle bir soru: bekleyen bir sipariş için mt5'teki ordersendasync işlevini kullanırsanız, nasıl çalışır? örneğin cevap beklemeden alış stop gönderecek ama emir tetiklendiğinde sunucunun alış emrine cevap vermesini mi bekleyecek?