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

 
odyn :

Merhaba bilenler!

Bu kod var:

yapı STRUCT_POSITION { \...\}

STRUCT_POSITION SPozisyon[];

Soru:

STRUCT_POSITION SPosition[] nedir; ?? Bir yapı örneği oluşturmakla ilgiliyse, neden dinamik bir dizi ? Mümkün mü? Ne için?


Cevap için çok minnettar olacağım.

Bir yapı bildirmek struct STRUCT_POSITION { \...\} özel bir veri tipinin oluşturulmasıdır. BİR STRUCT_POSITION SPozisyonu[]; özel türde bir değişkenin bildirimi. Bir değişkenin bir dizi olduğu gerçeği köşeli parantezlerle belirtilir [] Tıpkı diğer herhangi bir tür gibi, kullanıcı tanımlı bir türden birden çok değişken bildirebilirsiniz.

 double a , b[] ;

STRUCT_POSITION Pos , SPosition[] ;// при условии, что структура уже создана.
Bu giriş türünde , değişken , dizi
 
Herkese iyi günler, günün saati.
MT5, Android cihazlarımdan birinde çalışmayı durdurdu
Sadece böyle durdu. Hiçbir şeyi değiştirmedi, ayarlamadı.
Ekranda görünüyor.
İnternet var, geri kalan her şey çalışıyor.
Sadece bir demo hesabı var
orada değilse özür dilerim
Dosyalar:
 

MT5'i yeniden başlatmak için herhangi bir yardımcı program (WatchDog gibi) var mı?


Diyelim ki MT5 bir hata nedeniyle kapandı. Uzaktan nasıl takip edebilir ve MT5'i hemen başlatabilirsiniz.

MT4 için MT4bar kullanıyorum. MT5 için benzer bir şeye ihtiyacınız var.

 

Tünaydın.

Her zaman aynı sınıftan bir nesneyi tanımlamak ve çağırmak için evrensel bir temel sınıf oluşturmaya çalışıyorum.

Ve haberleri test etmek için iki çözüm yapıyorum. CNewsFilter temel sınıfı ve devralınan iki CNewsFilterLive ve CNewsFilterTester sınıfı vardır. Kodumda bir CNewsFilter nesnesi tanımlamak istiyorum. Ve hangi modun çalıştığına bağlı olarak zaten otomatik olarak bir sınıf seçer. Ama bir şey çalışmıyor. İşte temel sınıf, örnek olarak sadece Init() yöntemini bıraktım.

 //+------------------------------------------------------------------+
//| News Filter Class                                                |
//+------------------------------------------------------------------+
class CNewsFilter
  {
protected :
   //---
public :
                     CNewsFilter( void );
                    ~CNewsFilter( void );
   virtual bool       Init( string , int );
   virtual void       Deinit( void );                    
   virtual bool       CheckNews(ENUM_NEWS_TYPE &type);
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool CNewsFilter::Init( string symbol_name, int magic_number)
  {
   return true ;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
#ifdef __MQL5__ //MQL_TESTER || MQL_VISUAL_MODE
#include <NewsFilterTester.mqh>
#else
#include <NewsFilterLive.mqh>
#endif

Miras alınan sınıf:

 //+------------------------------------------------------------------+
//| News Filter Class                                                |
//+------------------------------------------------------------------+
class CNewsFilterTester : public CNewsFilter
  {
protected :
public :
                     CNewsFilterTester( void );
                    ~CNewsFilterTester( void );
   virtual bool       Init( string , int );
   virtual void       Deinit( void );                    
   virtual bool       CheckNews(ENUM_NEWS_TYPE &type);
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
CNewsFilterTester::CNewsFilterTester() :  m_delimiter( '\t' )
  {
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
CNewsFilterTester::~CNewsFilterTester( void )
  {
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool CNewsFilterTester::Init( string symbol_name, int magic_number)
  {
   // some code
   return true ;
  }

Ve sonra kodda Uzman Danışmanımı arıyorum:

 #include <NewsFilter.mqh>
....
CNewsFilter    news_filter;

news_filter.Init( Symbol (),MagicNumber);

Hata ayıklama yaparken, temel sınıf kodunun sonuna eklediğim temel sınıf yönergesine göre girmeleri gereken miras alınan CNewsFilterTester sınıfına asla girmezler. __MQL5__ burada sadece bir örnektir. Bir test cihazı ile nasıl yapılacağı başka bir sorudur. Fikrin kendisi çalışmasa da, miras alınan sınıfın yöntemleri çağrılmaz. Init() çağrılırken, devralınan sınıfın Init() öğesine gitmez - bu örnekte CNewsFilterTester. Bana yardım et lütfen.

 #ifdef __MQL5__ //MQL_TESTER || MQL_VISUAL_MODE
#include <NewsFilterTester.mqh>
#else
#include <NewsFilterLive.mqh>
#endif
 
leonerd :

Tünaydın.

Her zaman aynı sınıftan bir nesneyi tanımlamak ve çağırmak için evrensel bir temel sınıf oluşturmaya çalışıyorum.

Ve haberleri test etmek için iki çözüm yapıyorum. CNewsFilter temel sınıfı ve devralınan iki CNewsFilterLive ve CNewsFilterTester sınıfı vardır. Kodumda bir CNewsFilter nesnesi tanımlamak istiyorum. Ve hangi modun çalıştığına bağlı olarak zaten otomatik olarak bir sınıf seçer. Ama bir şey çalışmıyor. İşte temel sınıf, örnek olarak sadece Init() yöntemini bıraktım.

Miras alınan sınıf:

Ve sonra kodda Uzman Danışmanımı arıyorum:

Hata ayıklarken, temel sınıf kodunun sonuna eklediğim temel sınıf yönergesine göre girmeleri gereken miras alınan CNewsFilterTester sınıfına asla girmezler. __MQL5__ burada sadece bir örnektir. Bir test cihazı ile nasıl yapılacağı başka bir sorudur. Fikrin kendisi çalışmasa da, miras alınan sınıfın yöntemleri çağrılmaz. Init() çağrılırken, devralınan sınıfın Init() öğesine gitmez - bu örnekte CNewsFilterTester. Bana yardım et lütfen.

Burada

 #include <NewsFilter.mqh>
....
CNewsFilter    news_filter;

news_filter.Init( Symbol (),MagicNumber);

temel sınıftan bir nesne yaratırsınız. Buna göre - temel sınıf her yerdedir.

 

Bir koşul nasıl doğru yazılır:

Böyle

 if (((MASlowHandle - PBid) > 0.0002 ) && ((MASlowHandle - MAFastHandle) > 0.0002 ))

veya bunun gibi:

 if ((MASlowHandle - PBid) > 0.0002 && (MASlowHandle - MAFastHandle) > 0.0002 )

??

 
odyn :

Bir koşul nasıl doğru yazılır:

Böyle

veya bunun gibi:

??

Gerekli değil. Hatta mümkün

 if (MASlowHandle - PBid > 0.0002 && MASlowHandle - MAFastHandle > 0.0002 )

Aritmetik işlemler mantıksal işlemlere göre önceliklidir.

Ancak koşul hem && hem de || Kendiniz anlamanızı kolaylaştırmak için parantez ile ayırmanız tercih edilir.

 
Alexey Viktorov :

Gerekli değil. Hatta mümkün

Aritmetik işlemler mantıksal işlemlere göre önceliklidir.

Ancak koşul hem && hem de || Kendiniz anlamanızı kolaylaştırmak için parantez ile ayırmanız tercih edilir.

Cevap için teşekkürler!

 

Kodu neden gönderemiyorum?

Her zaman mesajı alıyorum:

Hatalarla tamamlanan kod incelemesi:
Kod kontrol edilirken hatalar bulundu Ticaret istatistikleri Gerçek zamanlı rapor.
https://www.mql5.com/en/code/28074/230766

Ancak kod gönderme hatasının arkasındaki nedeni anlamıyorum.

Lütfen bana bu konuda cevap verin.

Sorun nedir, en azından vurgulanmalıdır.

 
jaffer wilson :

Kodu neden gönderemiyorum?

Her zaman mesajı alıyorum:

Hatalarla tamamlanan kod incelemesi:
Kod kontrol edilirken hatalar bulundu Ticaret istatistikleri Gerçek zamanlı rapor.
https://www.mql5.com/en/code/28074/230766

Ancak kod gönderme hatasının nedenini anlamıyorum.

Lütfen bana bu konuda cevap verin.

Sorun nedir, en azından vurgulanmalıdır.

soru nerede? Hatalar tam olarak nedir? Üzgünüm, tüm telepatlar tatilde.

Tıklamak