MQL5 Sihirbazı tarafından oluşturulan bir Uzman Danışmanı açma, kapatma - sayfa 7

 
Andy :

Belki.

Ve bir şey daha, Vladimir, bana şema hakkında bilgi ver - bu piyasa modelleri bloğu nedir (en güçlü sinyali seçerek) ve MQL Sihirbazı'nda hangi biçimde,

***


Anladığım kadarıyla tek modülün modelleri arasında en güçlü sinyal seçeneği yok.


Andy :

***

Peki, dosyanızın çalışması sonucunda elde edilen çizgi-okları grafikten nasıl kaldırabilirsiniz?


STRATEJİ TEST CİHAZINI kapatın, tüm simgeler ve çizgiler kaybolacaktır :)

 
Andy :

Peki, iki modül varsa, o zaman sinyali ne seçer (ve yardımdaki iki modülden bir sinyal hesaplama örneğinde bundan bahsedilmez)?

***


Birden fazla modül olduğunda ( MQL5 Sihirbazı: Yeni Sürüm makalesindeki açıklama) tüm sinyaller sonuçlanır ve nihai tahmin (yön ve güç) elde edilir.


Andy :

***

Ve dosyayı test cihazında değil de doğrudan grafikte çalıştırırsam, onu nasıl kaldırabilirim?

Kaldır: grafiğe ve "Nesnelerin listesi" öğesine sağ tıklayın. Açılan pencerede "Tümü" düğmesine basın, ardından her şeyi seçmeniz gerekir: "Ctrl" + "C" ve silin: "Sil" düğmesi. Gelecekte bu nesneleri yaratmamak için, "SignalMA.mqh" standart modülü üzerine kurulu bir Uzman Danışman kullanın.
 
Andy :

Evet, nesne olarak kaldırıldı. Alınan bilgileri kalıplarla ele alacağım.

Peki, o zaman en üstteki şemada ne var (sinyal 100'ün seçildiği yer) - Master'da nerede olabileceğini anlayamıyorum, ne düşünüyorsunuz?


Anlamıyorum. İstenen alanı gösteren bir resim ekleyin.

 
Andy :
Diyagramda üst kısım, daha güçlü bir sinyalin (100) seçiminin ve piyasa modellerinin yazıldığı yerdir. Ağırlıksız olarak seçilen şey bu mu?

Anlamıyorum, lütfen bir resim ekleyin.

 
Andy :

Resmin tamamını eklediniz. İstenen alanı daire içine almanızı bekliyorum - aksi halde yine ne hakkında soru sorduğunuz net değil.

 
Andy :

Düzelttim - resmin üstündeki satırımın hemen altına bakın.


Çizimi düzenleyin: ilgi alanını daire içine alın, ardından sorunuzu formüle edin.

 
Andy :

Yukarıdaki gönderiyi düzenledim - bir göz atın.


Son sayfada zaten cevap verdim:

 
Andy :

Ve başka bir soru - MA sinyal modülündeki tüm modeller (1-3) seçilirken neden m_base_price değeri atanıyor, ancak bir model 0 seçildiğinde neden atanmıyor?


Göreceğiz ...

 
Andy :

Ve başka bir soru - MA sinyal modülündeki tüm modeller (1-3) seçilirken neden m_base_price değeri atanıyor, ancak bir model 0 seçildiğinde neden atanmıyor?


Bunu anladım: CExpert sınıfı bir nesne içeriyor - m_signa l

 //+------------------------------------------------------------------+
//| Class CExpert.                                                   |
//| Purpose: Base class expert advisor.                              |
//| Derives from class CExpertBase.                                  |
//+------------------------------------------------------------------+
class CExpert : public CExpertBase
  {
protected :
***
   //--- trading objects
***
   CExpertSignal    *m_signal;                   // trading signals object
***

- ve bu, CExpertSignal sınıfının ana nesnesidir. Ticaret sinyali modülü (bu durumda SignalMA.mqh olsun) miras alınır ve CExpertSignal sınıfının soyundan gelir.

Dolayısıyla, ticaret sinyalleri modülünde, 2. model tetiklendiğinde, bu çocuk m_base_price değişkenine bir miktar fiyat yazar (şimdi hangisi olduğu önemli değil). Ancak, bir pozisyon açarken , CExpertSignal sınıfı HİÇBİR ZAMAN sinyal modülümüzün m_base_price değişkenine atıfta bulunmaz: bir pozisyon açarken, CExpertSignal sınıfı, CExpertSignal sınıfının üst nesnesi olan m_signal nesnesinin m_base_price değişkenine başvurur.

İşlem sinyalleri modülündeki m_base_price değişkenine herhangi bir değer yazmanın mantıklı olmadığı ortaya çıktı.

 
Andy :
Orada, m_base_price=0 ile, alış-satış durumuna bağlı olarak Alış veya Alış fiyatı alınır, model 2 hariç (MA fiyatındaki gecikme türünü alır), ancak tüm bunlar neden ve neden olmasın 0 deseni ile hiç kullanıldı mı?

Evet, AMA: m_base_price değişkeni, sinyal modülüne değil, ana nesneye benziyor.