"MQL5 Sihirbazı: Alım Satım Sinyalleri Modülü Nasıl Oluşturulur" makalesi için tartışma - sayfa 3

 
MQL5 Wizard'ın yeni sürümünde sinyal modüllerinin formatı değişmiştir. Bilgi için buraya bakın - https://www.mql5.com/ru/forum/3724/66962#comment_66962.
Обсуждение статьи "Мастер MQL5: Новая версия"
Обсуждение статьи "Мастер MQL5: Новая версия"
  • www.mql5.com
Изменения в архитектуре сигналов позволяют теперь создавать торговые роботы на основе комбинации различных рыночных моделей.
 
Rosh:
MQL5 Wizard'ın yeni sürümünde sinyal modüllerinin formatı değişmiştir. Bilgi için buraya bakın - https://www.mql5.com/ru/forum/3724/66962#comment_66962.

Bu değişiklikleri yaptım, sihirbaz yeni sinyal modülünü görüyor, ancak ortaya çıkan Uzman Danışman bazı nedenlerden dolayı işlem yapmıyor. CheckOpenShort/CheckOpenLong işlevlerine ulaşmak için hata ayıklamayı kullanabilir miyim?
 
Signal klasöründeki birkaç hazır sinyalin koduna baktım, CheckOpenShort/CheckOpenLong fonksiyonlarının hiçbir uygulaması yok. Bunların yerine şunlar kullanılmış
//--- piyasa modellerinin oluşturulup oluşturulmadığını kontrol etme yöntemleri
   virtual int       LongCondition();
   virtual int       ShortCondition();
doğru anladım mı? Kendi modülümü yazarken bunları da uygulamam gerekiyor mu? CExpert sınıf açıklaması ne zaman görünecek?
 
beginner:

Signal klasöründeki birkaç hazır sinyalin koduna baktım, CheckOpenShort / CheckOpenLong işlevlerinin hiçbir uygulaması yok. Bunların yerine doğru şekilde kullanılıyor anladığım kadarıyla?
Evet, bu doğru.
 
Rosh:
Evet, bu doğru.

Dürüst olmak gerekirse, biraz kafam karıştı. CExpertSignal sınıfında CheckOpenShort/CheckOpenLong fonksiyonları var. Sinyallerinizde başka fonksiyonlar kullanıyorsunuz ve bunların CExpert'te nerede çağrıldığını da anlamıyorum. Sorun şu ki, kendi sinyal modülümü yazmakla ilgili makaleden hazır bir sinyal aldım, sihirbazın onu görmesini sağladım (muhtemelen yeni formatla ilgili makalede değişiklikler yapabilirsiniz) ve bu sinyalle bir Uzman Danışman aldım, ancak işlem yapmıyor, bir yıl boyunca test cihazında tek bir anlaşma bile yok.

İşlevler kurucuda çağrılır - bu açık, ancak neden standart işlevler kullanılmıyor?

 
Lütfen sorunun ne olduğuna bakın. Test cihazında işlem yapmıyorum.
Dosyalar:
1.mq5  7 kb
 
beginner:

Lütfen sorunun ne olduğuna bakın. Test cihazında işlem yapmıyor.

Bu modül ticaret yapıyor.

Sizin durumunuzda, uzunlar için değiştirin

if(  High(1) > High(2) && Low(2)>Low(3) && High(2)<High(3) && Close(3)>Open(3) ){
     return(100);
   }
//--- условие не выполнено
   return(0);  
  }

tarafından

Open(1)< Open(2)

şortlar için - kendiniz bulun

Dosyalar:
 
gdtt:

bu modül ticareti

sizin durumunuz için, uzunları değiştirin

tarafından

şortlar için, kendiniz bulacaksınız.

Evet var, teşekkür ederim! Günü geçirdim, sanırım her şeyi makaledeki gibi yaptım, benim hatam ne?
 
beginner:
Evet öyle, teşekkür ederim! Günümü harcadım, her şeyi makaledeki gibi yaptığımı düşünüyorum, hatam nedir?

Yeni sihirbazda öncekine göre çok büyük değişiklikler var,

virtual bool CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration);

virtual bool CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration);

Şöyle anladım: Uzman Danışman'da kullanılan birkaç nesne arasında ana niteliğe sahip CExpertSignal sınıfından bir nesne olmalı, bu işlevleri kullanabilir. diğer nesneler işlevler aracılığıyla pozisyonların açılmasında rol alır

virtual int ShortCondition(); //satış açılış koşulunu kontrol et

virtual int LongCondition(); //bir Alış pozisyonu açmak için koşulu kontrol edin

İ'lerin noktasını koymak için, yeni sihirbazda kendi sinyal modülünüzü nasıl yazacağınıza dair bir makaleye ihtiyacımız var, bu yüzden onu bekliyoruz.

 
Evet, makale eksik ve CExpertSignal belgelerinin muhtemelen güncellenmesi gerekiyor.