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

 
pro_ :

Yazdıklarım (sayfa 68) henüz düzeltilmedi, ama yakında düzeltileceğine de eminim.
Ve gravitsapa yapacaklar ;)
 
artmedia70 :
Ve gravitsapa yapacaklar ;)


Anne, anne, ne yapacağız...
"Aynı anda iki dilde düşündüğünüzde bir dile nüfuz etmek çok zordur." (c) Kin-dza-dza

Dolayısıyla şu anda iki dilden (mql4 ve mql5) oluşan dili anlamanın zor olduğu ortaya çıkıyor.
Gerçekten tüm kitaplıkların yeniden yazılacağını ve işlevselliğin devam edeceğini umuyorum.

 
Panik yapmayın beyler... İki yarım küreyi bir arada tutun. :)
 
Lion.Fx :

Anne, anne, ne yapacağız, .....
Aynı anda iki dilde düşündüğünüzde bir dile nüfuz etmek çok zordur. (c) Kin-dza-dza

Dolayısıyla, şu anda iki (mql4 ve mql5) oluşan dili anlamamızın zor olduğu ortaya çıkıyor.
Gerçekten tüm kitaplıkların yeniden yazılacağını ve işlevselliğin devam edeceğini umuyorum.


kütüphanede, ObjectCreate () işlevini hafifçe değiştirmeniz yeterlidir.

örneğin, bunun yerine "ChartObjectsBmpControls.mqh" içinde:

 ObjectCreate (chart_id,name, OBJ_BITMAP_LABEL ,window, 0 , 0.0 )

yapmak :

 ObjectCreate (name, OBJ_BITMAP_LABEL ,window, 0 , 0.0 ) 
 
ALXIMIKS :


kütüphanede, ObjectCreate () işlevini hafifçe değiştirmeniz yeterlidir.

örneğin, bunun yerine "ChartObjectsBmpControls.mqh" içinde:

yapmak :

Bunun yerine neden? İkisini de bırakabilirsin. En uyumlu seçenek.
 
MetaDriver :
Bunun yerine neden? İkisini de bırakabilirsin. En uyumlu seçenek.


Yeni yapıda, yine de kitaplığı yeniden derleyecektir.

Çıkış yolu, kendi işlevinizi devralmak ve eklemektir, ancak geliştiriciler sorunu çözerse, her şeyin bir anlamı yoktur.

 
#property strict

int iter= 500000 ;

#define S1       "abc"
#define S2       "bcd"

void OnStart ()
  {
         uint     startt,stopt;
   string s,s1;

   s1=S1; s= "" ;
   Print ( "iter=" ,iter, " s1=\"" ,s1, "\"" );
   
//--- first method
   s1=S1; s= "" ;
   startt= GetTickCount (); for ( long i= 0 ; i<iter; i++) s+=s1; stopt= GetTickCount ();
   Print ( "s+=s1, time=" ,(stopt-startt), " ms, strlen=" , StringLen (s));

//--- second method
   s1=S1; s= "" ;
   startt= GetTickCount (); for ( long i= 0 ; i<iter; i++) StringAdd (s,s1); stopt= GetTickCount ();
   Print ( "StringAdd(s,s1), time=" ,(stopt-startt), " ms, strlen=" , StringLen (s));

//--- third method
   s1=S1; s= "" ;
   startt= GetTickCount (); for ( long i= 0 ; i<iter; i++) s= StringConcatenate (s,s1); stopt= GetTickCount ();
   Print ( "s=StringConcatenate(s,s1), time=" ,(stopt-startt), " ms, strlen=" , StringLen (s));
}

senaryo verir..

2013.12.08 21:12:41.866 teststr USDCHF,H1: kaldırıldı
2013.12.08 21:12:41.855 teststr USDCHF,H1: s=StringConcatenate(s,s1), time=57564 ms, strlen=451434
2013.12.08 21:11:44.295 teststr USDCHF,H1: StringAdd (s,s1), zaman=16 ms, strlen=1500000
2013.12.08 21:11:44.284 teststr USDCHF,H1: s+=s1, zaman=530 ms, strlen=1500000
2013.12.08 21:11:43.749 teststr USDCHF,H1: iter=500000 s1="abc"
2013.12.08 21:11:43.746 teststr USDCHF,H1: başarıyla yüklendi


izle STRLEN.... (iter=3000 veya herhangi bir küçük yineleme ile iyi çalışır)

555 inşa

 
Bazı nesnelerin grafikte görünmemesinin ve sıfır parametreye sahip olmasının nedenini buldum. Bu, nesne adı Expert Advisor'daki bazı verilerden oluşturulmuşsa ve belirli sayıda karakterden fazla olduğu ortaya çıkarsa ve kesilirse olur. Böyle bir nesnenin sıfır parametresi vardır. 509'da kısaltılmış bir adla görüntülendi, 555'te görüntülendi, ancak sıfır fiyat ve zaman koordinatlarına sahip.
 

Komik. Uzmanın adı, bulunduğu alt klasörlerin adlarını da içerir.

Bu, uzmanın adının boyutunu makul olmayan bir şekilde artırır.

Örneğin: Uzman olarak adlandırılıyorsa ve bu uzman Terminal_Catalog\MQL4\experts\Orders\Customer_Nick konumundaysa ,

o zaman uzmanın adı Expert değil, Orders\Customer_Nickname\Expert olacaktır. Nesne adları ayrıca uzman_adı_nesne_adı_zamanını da içeriyorsa, bu karakter sayısına göre bir aramadır ve nesne sıfır fiyat ve sıfır zamanda görüntülenir.

Nesnelerin adları uzmanın adını içeriyorsa, böylece başlatmadan kaldırma sırasında kendi kendini temizleyebilirse, nesne adının kendisi için çok az yer kalır.

Değişecek mi yoksa böyle mi kalacak?

 
sanyooooook :

555'e güncellenen terminal, komut dosyalarının, uzmanların ve göstergelerin dosyalarını görmez, bunlar terminal dizinindedir.

ekran


Düşüncenizi açıklayabilir misiniz?

Sağladığınız ekran görüntüsü komut dosyaları, Uzman Danışmanlar ve göstergeler içeriyor