MetaTrader 4 Build 529 Beta, Yeni Derleyici ile Yayınlandı - sayfa 3

 

Şimdi içerme dosyalarını nasıl ekleyeceğimi anlayamıyorum ...

böyle bir saçmalık yazıyor "E:\Terminal\MQL4\include\Commentary.mqh" dahil dosyasını açamıyor 21 on bir

 
Barbarian :
hangi zamanlayıcı ve hangi döngü?

 int OnInit ()
  {
//--- create timer
   EventSetMillisecondTimer( 500 );
      
//---
   return (INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//--- destroy timer
   EventKillTimer ();
      
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
     static int Count = 1 ;
    RefreshRates();
     Comment ( "\n\n" , "Ask = " , Ask, "\nBid = " , Bid, "\nCount = " , Count);
    Count++;
  }
//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
void OnTrade ()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
double OnTester()
  {
//---
   double ret= 0.0 ;
//---

//---
   return (ret);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {
     Print (
       "id = " , id,
       ";   lparam = " , lparam,
       ";   dparam = " , dparam,
       ";   sparam = " , sparam
    );
   
  }


Bu arada, OnChartEvent() ayrıca çalışır, özellikle onMouseMove ve onClick işlenir.

 
VOLDEMAR :

Şimdi içerme dosyalarını nasıl ekleyeceğimi anlayamıyorum ...

böyle bir saçmalık yazıyor "E:\Terminal\MQL4\include\Commentary.mqh" dahil dosyasını açamıyor 21 on bir


Kodu yeniden oluşturdum ve derledim - tüm kurallar.
 

Test cihazında Expert Advisor'ı başlattıktan sonra terminal penceresi kapanır.

Nedeni bu satırdadır ( OnInit() işlevi):

 if ( Bars < 250 ) { Alert ( "ERROR HISTORY BARS<250" ); return (INIT_FAILED);}

Grafikte başlatıldıktan sonra, EA "ERROR HISTORY BARS<250" hatası veriyor.

 Print ( Bars );
0 döndürür. Pencerede 16387 çubuk var.
 
Wingdings gibi yazı tipleri grafik uygulamalarında çöktü. Muhtemelen, yeni MT4 unicode oldu... Ama o anın sıcağındayken öyle. Belki de sorun başka yerdedir.
 

Bu kodun neden 00 00 00 00 döndürdüğünü anlayamıyorum

 string TimeS( string txt)
{
string d,h,m,s,n; 
d=DoubleToStr(Day()    , 0 ); if ( StringLen (d)< 2 ) d= "0" +d;
h=DoubleToStr(Hour()   , 0 ); if ( StringLen (h)< 2 ) h= "0" +h;
m=DoubleToStr(Minute() , 0 ); if ( StringLen (m)< 2 ) m= "0" +m;
s=DoubleToStr(Seconds(), 0 ); if ( StringLen (s)< 2 ) s= "0" +s;
if ( StringLen (txt)== 6 )
n =txt+d+ " " +h+ "." +m+ "." +s+ " " ;
else
n =txt+d+ " " +h+ ":" +m+ ":" +s+ " " ;
return (n);
}
 
nasdaq :

Test cihazında Expert Advisor'ı başlattıktan sonra terminal penceresi kapanır.

Nedeni bu satırdadır ( OnInit() işlevi):

Grafikte başlatıldıktan sonra, EA "ERROR HISTORY BARS<250" hatası veriyor.

0 döndürür. Pencerede 16387 çubuk var.

Evet, bu hatayı düzelteceğiz - yarın bir güncelleme yayınlanacak.
 
VOLDEMAR :

Bu kodun neden 00 00 00 00 döndürdüğünü anlayamıyorum

Bir sayıyı dizgeye dönüştüren her satırdan başlamaya çalışın, daha kompakt bir yapı kullanın:

d = LeadZero(Day());

string LeadZero( int value )
{
   if ( value > 9 )
       return (DoubleToStr( value , 0 ));

   return ( "0" + DoubleToStr( value , 0 ));
}
 
Diğer terminallerin güncellemelerini etkilememek için, test terminalinin başarılı bir güncellemesinden sonra C:\ProgramData\MetaQuotes\WebInstall dizinini silmeniz yeterlidir.
 
Scriptong :

Bir sayıyı dizgeye dönüştüren her satırdan başlamaya çalışın, daha kompakt bir yapı kullanın:


Yine de

 Comment (Day());

0 çizimi...