Çaydanlıktan gelen sorular - sayfa 213

 
lazarev-dm :

Eklemenin en kolay yollarından biri

kodun performansını kontrol etmeniz veya bir koşulun doğruluğunu kontrol etmeniz gerektiğinde (yani, tüm koşulların doğru olduğu ve bir eylemin gerçekleştirilmesi gereken durumlar olup olmadığını kontrol edin)

örneğin, işlevin yürütülüp yürütülmediğini ve EA'nın ona ulaşıp ulaşmadığını kontrol etmek için her karmaşık işlevin içine farklı metinlerle Uyarı ekliyorum

Belki bazı koşullar kullanırsınız ve bunlar her zaman yanlıştır.

Teşekkür ederim.
EA, hatasız olarak çalışmayı durdurur ve terminali yeniden başlattıktan sonra tekrar çalışmaya başlar.
Çalışıp çalışmadığını programlı olarak nasıl kontrol edeceğimi bilmem gerekiyor. Yeşil olmasına ve günlükte hata olmamasına rağmen.
Ve bu kontrol fonksiyonundan sonra, bir uyarı veya baskı veya yorum koyacağım.
 
G001 : Lütfen bana Expert Advisor'ın çalışıp çalışmadığını programlı olarak nasıl kontrol edeceğimi söyleyin?

Gerçek şu ki, günlükte hata yoktur, ancak danışman bazen çalışmayı durdurur ve yalnızca terminal yeniden başlatıldıktan sonra geri yüklenir.

"Danışmanın bazen çalışmayı bıraktığını" nasıl belirlediğiniz tam olarak açık değil. Belki orada sonsuz bir döngü başlatır. Aynı zamanda, dergi boştur ve danışman yorulmadan saban sürer. Veya çalışan başka bir özellik.

 

Bu gönderideki bir sorunun cevabına ihtiyacım var: https://www.mql5.com/en/forum/3775/page215#comment_379520

Cevabı kimse biliyor mu?

 
tol64 : Bu gönderideki bir sorunun cevabına ihtiyacım var: https://www.mql5.com/en/forum/3775/page215#comment_379520 Cevabı bilen var mı?

Görünüşe göre, doğrudan bir cevap olmasa da, yansıtmaya devam ediyor.

Böylece, lisans türü Mql5InfoInteger( MQL5_LICENSE_TYPE ) kullanılarak bulunur. Onlar. ENUM_LICENSE_TYPE numaralandırmasının tüm olası değerlerinden yalnızca biri döndürülecektir. Ayrıca - istisna yöntemiyle: zaman sınırı ( LICENSE_TIME ), belirtilen numaralandırmanın önceki üç değeriyle aynı anda döndürülemez. Özellikle, LICENSE_TIME, LICENSE_DEMO ile aynı anda iade edilmemelidir .

Bu mantıkla, "Piyasa için ücretli bir programın demo testinde süre ile sınırlandırılabileceği anlamına mı geliyor?" sorusuna olumsuz bir cevap verebilirim. Market'ten ücretli bir ürünün demo sürümünün kendi tanımlayıcısı vardır - LICENSE_DEMO.

 
Yedelkin :

Görünüşe göre, doğrudan bir cevap olmasa da, yansıtmaya devam ediyor.

Böylece, lisans türü Mql5InfoInteger( MQL5_LICENSE_TYPE ) kullanılarak bulunur. Onlar. ENUM_LICENSE_TYPE numaralandırmasının tüm olası değerlerinden yalnızca biri döndürülecektir. Ayrıca - istisna yöntemiyle: zaman sınırı ( LICENSE_TIME ), belirtilen numaralandırmanın önceki üç değeriyle aynı anda döndürülemez. Özellikle, LICENSE_TIME, LICENSE_DEMO ile aynı anda iade edilmemelidir .

Bu mantıkla, "Piyasa için ücretli bir programın demo testinde süre ile sınırlandırılabileceği anlamına mı geliyor?" sorusuna olumsuz bir cevap verebilirim. Market'ten ücretli bir ürünün demo sürümünün kendi tanımlayıcısı vardır - LICENSE_DEMO.

Ve bence hem LICENSE_DEMO hem de LICENSE_TIME aynı anda LICENSE_TIME içine konabilir . Canlı bir örnek, MQL5_VISUAL_MODE ve MQL5_TESTING gibi tanımlayıcılarda yansıtılır. Yani her ikisi de testçide olduğumuzu açıkça ortaya koyuyor. ))

Bu çok ilginç, geliştiriciler aslında bu tanımlayıcıya ne koydu? Ve genel olarak, demo modunda bazı ücretli programların süresini sınırlamanın bir yolu yoksa, böyle bir fırsata sahip olmak isterim. Böyle seçenekler olabileceğinden, programları satın almadan bile kendiniz için çok karlı bir şekilde kullanabilirsiniz. )))

 
tol64 : Ve bence LICENSE_TIME hem LICENSE_DEMO hem de LICENSE_TIME içerebilir .

Hariç tutma yönteminin bir nedenden dolayı yanlış sonuçlara yol açabileceğinden, referans materyallerinin terminolojik özelliklerini tamamen gözden kaçırdığımı kabul ediyorum. ... En azından konuyla ilgili yanlış anlamaları dile getirdiler ve yalnızca bu listenin yazarları cevap verebilir.

 
tol64 : Ve genel olarak, demo modunda bazı ücretli programların süresini sınırlamanın bir yolu yoksa, o zaman böyle bir fırsata sahip olmak isterim. Böyle seçenekler olabileceğinden, programları satın almadan bile kendiniz için çok karlı bir şekilde kullanabilirsiniz. )))
Ve bu teklifi doğrudan Hizmet Masasına vereceksiniz. Gelin ve gerçekte nasıl olduğunu görün :)
 
Yedelkin :

"Danışmanın bazen çalışmayı bıraktığını" nasıl belirlediğiniz tam olarak açık değil. Belki orada sonsuz bir döngü başlatır. Aynı zamanda, dergi boştur ve danışman yorulmadan saban sürer. Veya çalışan başka bir özellik.

Döngüler yok. Günde 10-20 kez oldukça sık açılıyor, grafikte gösterge sinyallerini gördüğümde ancak danışman pozisyon açmadığında çalışmıyor demektir. Terminali yeniden başlatıyorum ve tekrar çalışıyor.
 
G001 : Grafikte gösterge sinyallerini gördüğümde ancak EA bir pozisyon açmamışsa, çalışmıyor demektir

Şimdi bu konuya daha yakın. Danışmanınızın gösterge sinyallerine yanıt vermeyi bıraktığı ortaya çıktı mı? Ancak bu, danışmanın "çalışmadığı" anlamına gelmez. Belki hala işe yarıyor ama yazarın amaçladığı şekilde değil.

10 dakikalık bir süre ile bir zamanlayıcı ayarlamayı deneyin. Ve Uzman Danışmanınız için önemli olan tüm göstergeleri yazdırın . Bu metriklerin zaman içinde değişip değişmediğine bakın. Bu durumda günlük boşsa - o zaman kesinlikle kodun bir kopyasıyla Hizmet Masasına.

Ek. Ya da işte başka bir fikir. Ayrıca, if-type koşuluyla kodda bir yeriniz var, bundan sonra bir ticaret talebi gönderilmelidir . Bu koşulun karşılandığı/başarısız olduğu durumları yazdırmayı deneyin, örneğin:

 if ()
  {
   ... 
   Print ( "Сработало условие такое-то, время такое-то" );
  }
else
  {
   ...
   Print ( "Не сработало условие такое-то, время такое-то" );
  }
 
Teşekkür ederim. Sorunun danışmanda olması pek olası değildir, aksi takdirde terminal yeniden başlatma kuralı her zaman işe yaramaz. Ayrıca, bazı brokerler MT4'te de bu sorunu yaşıyor. Bir sonraki sinyalden önce yeniden başlaması için çalışmayı durdurduğunda programlı olarak kontrol etmem gerekiyor. Baskılar ve yorumlar eklendi.