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

 
leonerd :

Bir sınıfı temel sınıf olarak ilan etmek ve ardından koşullara bağlı olarak onu miras alınanlardan biri olarak yeniden tanımlamak mümkün müdür?

Amaç, koddaki sınıf adını aynı tutmaktır.

Ve lütfen bana test cihazını tanımlamak için hangi direktifin kullanılacağını söyleyin.

Yani mümkün mü?

 #include <NewsFilter.mqh>
//...
   if ( MQLInfoInteger ( MQL_TESTER ))
      CNewsFilterTester news_filter;
   else
      CNewsFilter       news_filter;
//---
   news_filter.Init( Symbol (),MagicNumber);
 
Artyom Trishkin :

Teşekkür ederim. Evet, ancak burada elde edilen news_filter nesnesi tanımlanmamış olabilir. Kodun herhangi bir yerinde kullanılabilir olması için global olarak bildirilmelidir. Nasıl olunur?

CNewsFilter       news_filter;
void OnInit ()
  {
  }
 
leonerd :

Teşekkür ederim. Evet, ancak burada elde edilen news_filter nesnesi tanımlanmamış olabilir. Kodun herhangi bir yerinde kullanılabilir olması için global olarak bildirilmelidir. Nasıl olunur?

Hangi durumlarda tanımsız olacak?

 
Artyom Trishkin :

Hangi durumlarda tanımsız olacak?

 #include <NewsFilter.mqh>

void OnInit ()
  {
//...
   if ( MQLInfoInteger ( MQL_TESTER ))
      CNewsFilterTester news_filter;
   else
      CNewsFilter       news_filter;
//---
   news_filter.Init( Symbol (),MagicNumber);
  }
void OnTick ()
  {
   news_filter.Check()...
  }
 

Lütfen bu operatörün yürütme mantığını ve koşullarının ifadesini anlamaya yardım edin.


CTrade         m_trade;

CPositionInfo  m_position;

if (!m_trade.PositionClose(m_position.Ticket()))

Bilet tarafından tanımlanan pozisyonu KAPATMAZSA?

İlk olarak, pozisyon bileti elde edilir -> program pozisyonu kapatmaya çalışır -> döndürülen boole değeri tersine çevrilir.

Doğru şekilde?

 
odyn :

Lütfen bu operatörün yürütme mantığını ve koşullarının ifadesini anlamaya yardım edin.


Bilet tarafından tanımlanan pozisyonu KAPATMAZSA?

İlk olarak, pozisyon bileti elde edilir -> program pozisyonu kapatmaya çalışır -> döndürülen boole değeri tersine çevrilir.

Doğru şekilde?

-> Belirtilen bilete sahip pozisyon kapalıysa true, aksi takdirde false döndürür

Koşul şu şekildedir: Belirtilen bilete sahip pozisyon kapatılmazsa...

 
Сергей Таболин :

-> Belirtilen bilete sahip pozisyon kapalıysa true, aksi takdirde false döndürür

Koşul şu şekildedir: Belirtilen bilete sahip pozisyon kapatılmazsa...

Soru şu ki, program pozisyonu kapatmaya mı çalışıyor?

 
odyn :

Soru şu ki, program pozisyonu kapatmaya mı çalışıyor?

Evet, çabalıyor.

 
Сергей Таболин :

Evet, çabalıyor.

Cevap için teşekkürler

 

Lütfen açıkla.

OnTradeTransaction işlevi.

Danışmanda olması şart mı?

Değilse, hangi durumlarda koda dahil edilmelidir? Ve neden?