MetaTrader 4 Build 529 베타가 새로운 컴파일러와 함께 출시됨 - 페이지 103

 
pro_ :

내가 쓴 내용(68페이지)은 아직 수정되지 않았지만 곧 수정될 것이라고 확신합니다.
그리고 그들은 gravitsapa를 만들 것입니다 ;)
 
artmedia70 :
그리고 그들은 gravitsapa를 만들 것입니다 ;)


엄마, 엄마, 우리 뭐할까...
"한 번에 두 가지 언어로 생각할 때 한 언어로 꿰뚫는 것은 매우 어렵습니다." (c) Kin-dza-dza

그래서 현재 2개(mql4, mql5)로 구성된 언어를 이해하기 어렵다는 것이 밝혀졌다.
모든 라이브러리가 다시 작성되고 기능이 유지되기를 진심으로 바랍니다.

 
당황하지 마세요, 여러분... 두 반구를 함께 유지하십시오. :)
 
Lion.Fx :

엄마, 엄마, 우리 어떡하지, .....
한 번에 두 가지 언어로 생각할 때 언어에 침투하는 것은 매우 어렵습니다. (c) Kin-dza-dza

그래서 우리가 현재 두 가지(mql4 및 mql5)로 구성된 언어를 이해하기 어렵다는 것이 밝혀졌습니다.
모든 라이브러리가 다시 작성되고 기능이 유지되기를 진심으로 바랍니다.


라이브러리에서 ObjectCreate () 함수를 약간 조정하면 됩니다.

예를 들어 다음 대신 "ChartObjectsBmpControls.mqh" 에서:

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

하다 :

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


라이브러리에서 ObjectCreate () 함수를 약간 조정하면 됩니다.

예를 들어 다음 대신 "ChartObjectsBmpControls.mqh" 에서:

하다 :

대신에 왜? 둘 다 남겨둘 수 있습니다. 가장 조화로운 옵션.
 
MetaDriver :
대신에 왜? 둘 다 남겨둘 수 있습니다. 가장 조화로운 옵션.


새 빌드에서는 여전히 라이브러리를 다시 컴파일합니다.

탈출구는 자신의 기능을 상속하고 추가하는 것이지만 개발자가 문제를 해결하면 모든 것이 의미가 없습니다.

 
#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));
}

스크립트 제공 ..

2013.12.08 21:12:41.866 teststr USDCHF,H1: 제거됨
2013.12.08 21:12:41.855 teststr USDCHF,H1: s=StringConcatenate(s,s1), 시간=57564ms, strlen=451434
2013.12.08 21:11:44.295 teststr USDCHF,H1: StringAdd (s,s1), 시간=16ms, strlen=1500000
2013.12.08 21:11:44.284 teststr USDCHF,H1: s+=s1, 시간=530ms, 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: 성공적으로 로드됨


시계 STRLEN....(iter=3000 또는 작은 iter에서 잘 작동함)

빌드 555

 
일부 개체가 차트에 표시되지 않고 매개변수가 0인 이유를 찾았습니다. 이것은 Expert Advisor의 일부 데이터에서 개체 이름을 빌드하고 특정 문자 수 이상으로 판명되어 잘린 경우에 발생합니다. 이러한 개체에는 매개변수가 없습니다. 509에서는 잘린 이름으로 표시되었지만 555에서는 표시되지만 가격 및 시간 좌표 가 0입니다.
 

재미있다. 전문가 이름에는 전문가가 있는 하위 폴더의 이름도 포함됩니다.

이것은 전문가의 이름의 크기를 부당하게 증가시킵니다.

예: 전문가가 Expert 라고 하고 Terminal_Catalog\MQL4\experts\Orders\Customer_Nick 에 있는 경우

그러면 전문가의 이름은 Expert가 아니라 Orders\Customer_Nickname\Expert 가 됩니다. 개체 이름에 Expert_name_object_name_time도 포함되어 있으면 문자 수로 검색하고 개체는 0의 가격과 0의 시간으로 표시됩니다.

객체 이름에 전문가의 이름이 포함되어 있어 초기화 해제 중에 스스로 정리할 수 있도록 하면 객체 이름 자체를 위한 공간이 거의 남지 않습니다.

변할 것인가, 아니면 이대로 남을 것인가?

 
sanyooooook :

555로 업데이트된 터미널은 스크립트, 전문가 및 지표 파일을 볼 수 없으며 터미널 디렉토리에 있습니다.

화면


당신의 생각을 설명해 주시겠습니까?

제공한 스크린샷에는 스크립트, Expert Advisors 및 지표가 포함되어 있습니다.