Mql4 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 3

 

Giriş parametreleri sekmesinde bir komut dosyası, gösterge, danışman çalıştırdığınızda, değişkenlerin adları görüntülenir.

 extern int Период= 10 ;


Bir #property katı yönergesi varsa, değişken adı yerine bir yorum görüntülenir.

 #property strict
extern int Период= 10 ;   // Период отображения информации 

IMHO, daha bilgilendirici

 
LRA :

Giriş parametreleri sekmesinde bir komut dosyası, gösterge, danışman çalıştırdığınızda, değişkenlerin adları görüntülenir.


Bir #property katı yönergesi varsa, değişken adı yerine bir yorum görüntülenir.

IMHO, daha bilgilendirici

Peki o zaman, özellikle bunu bilmeyenler için. Ekran görüntüsüne bakın, orada her şey açık.


 

MT4'te bir aksaklık var: depozito 99999'dan fazla olduğunda, ayrıntılı raporun tablosunda bir rakam kayboluyor.

999999'dan fazlaysa - iki basamak kaybolur. Her zaman yalnızca en üstteki 5 basamak görüntülenir.


 
LRA :

MT4'te bir aksaklık var: depozito 99999'dan fazla olduğunda, ayrıntılı raporun tablosunda bir rakam kayboluyor.

999999'dan fazlaysa - iki basamak kaybolur. Her zaman yalnızca en üstteki 5 basamak görüntülenir.


Sistem ayarlarında yazı tipi ölçeğini %125 olarak ayarladığınızı söylemeyi unutmayınız.
 
void OnStart ()
{
   Alert ( "Ордеров = " , OrdersHistoryTotal ());
}   

Hikayenin uzunluğunun ayarlanabileceğini biliyor muydunuz? Bu da arama süresini etkiler!

Bugün yüklerseniz - daha az olacak! Tarih gece yarısı boş mu kalacak? Optimal - Son 3 gün .

Geliştiricilere: geçmiş derinliği programlı olarak nasıl ayarlanır?

 
MQL5'ten farklı olarak, MQL4'te statik diziler boyut değiştirebilir.
 
fxsaber :
MQL5'ten farklı olarak, MQL4'te statik diziler boyut değiştirebilir.

Yardım hatası?

 //+-------------------------------------------------------+
//| ArrayResize                                 PROBA.mq4 |
//+-------------------------------------------------------+
#property strict
void OnStart()
{
  int x[7];         int СтарыйРазмер=ArrayRange(x,0);
  ArrayResize(x,5); int МеньшийРазмер=ArrayRange(x,0);
  ArrayResize(x,9); int БольшийРазмер=ArrayRange(x,0);
  Alert("MQL4: СтарыйРазмер = ",СтарыйРазмер, "   МеньшийРазмер = ",МеньшийРазмер, "   БольшийРазмер = ",БольшийРазмер);
} 


 //+-------------------------------------------------------+
//| ArrayResize                                 PROBA.mq5 |
//+-------------------------------------------------------+
#property strict
void OnStart()
{
  int x[7];         int СтарыйРазмер=ArrayRange(x,0);
  ArrayResize(x,5); int МеньшийРазмер=ArrayRange(x,0);
  ArrayResize(x,9); int БольшийРазмер=ArrayRange(x,0);
  Alert("MQL5: СтарыйРазмер = ",СтарыйРазмер, "   МеньшийРазмер = ",МеньшийРазмер, "   БольшийРазмер = ",БольшийРазмер);
} 
 
LRA :

Yardım hatası?

MQL4'te statik dizi olmadığını varsayarsak hata olmaz.
 
Statik konusunda, her iki dilde de çok ince bir nokta var.

1065'te çalışıyordu.

 #property strict
#property indicator_chart_window

int TestBrokenStatic()
{
   static int stInt = 101 ;
   
   stInt++;
   return stInt;
}

int OnInit ()
{
   static int result = TestBrokenStatic();
   
   Print ( "TestStatic Expected result 102   - Actual result=" , result);
   result = TestBrokenStatic();
   Print ( "TestStatic Expected result 103   - Actual result=" , result);
   
   return INIT_SUCCEEDED ;
}

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
{
   return rates_total;
}


2017.04.28 15:42:30.941 TestStatic EURCHF,H1: TestStatic Beklenen sonuç 103 - Gerçek sonuç=102

2017.04.28 15:42:30.941 TestStatic EURCHF,H1: TestStatic Beklenen sonuç 102 - Gerçek sonuç=1


 
fxsaber :
Statik konusunda, her iki dilde de çok ince bir nokta var.

Vay be ince an... SD'ye mi yazmışlar?