오류, 버그, 질문 - 페이지 3040

 
Andrei Trukhanovich :

오랫동안 그래왔습니다. mql 문자열은 실제로 문자열과 리터럴, 함수에서도 null 문자를 좋아하지 않습니다.

유일한 올바른 방법은 3개의 null로 끝나는 문자열을 배열로 캐스팅하는 것입니다.

저것들. 지금의 이 동작은 몇 년 전에 의도적 으로 수행된 것입니다. 이유를 모르겠습니다.

그리고 StringToCharArray 외에 어떤 함수가 내부 0에서 제대로 작동하지 않습니까?

예를 들어 StringToShortArray - 오류 없이 작동

StringCompare가 잘못 작동하는 데 사용되었지만 이것은 오래 전에 수정되었습니다.

StringLen에 관한 한

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

A100 , 2019.05.15 13:45

버그를 부분적으로 수정했습니다 ... 왜 안 돼요!? 내 기억 에 StringLen은 항상 올바르게 작동했습니다 (적어도 x32에서는).

 
A100 :

정확히 기억나지 않습니다. 어떤 좋은 순간에 내부에 0이 포함된 문자열이 0으로 잘렸고 아마도 stringconcatenate 였을 수도 있고 간단한 문자열 연산으로 잘랐을 수도 있습니다.

 

오후에 답변을 보낼 때 받은 우수한 포럼. 답이 없어졌습니다.

월요일 점심..


 

여러 터미널이 무너졌습니다. 동시에 각 터미널은 최소화되지 않은 자체 경고 창에서 경고를 발행합니다.

어떤 경고 창이 어떤 터미널에 해당하는지 이해하는 방법은 무엇입니까?

 
fxsaber :

여러 터미널이 무너졌습니다. 동시에 각 터미널은 최소화되지 않은 자체 경고 창에서 경고를 발행합니다.

어떤 경고 창이 어떤 터미널에 해당하는지 이해하는 방법은 무엇입니까?

고유한 터미널 ID에 대해 아무것도 모르지만 경고에 AccountInfoString (ACCOUNT_COMPANY) 을 추가할 수 있습니다. 동일한 중개업체에 여러 개의 MT5 인스턴스가 동시에 로그인되어 있는 사람은 없을 것이라고 생각하지만, 동일한 중개인으로 다른 계정에 있어야 하는 경우에는 여전히 의미가 있을 수 있습니다. 이 경우(최악의 경우) AccountInfoInteger(ACCOUNT_LOGIN) 또는 AccountInfoString(ACCOUNT_SERVER) 이 적절할 수 있습니다.

 
x572intraday :

고유한 터미널 ID에 대해 아무것도 모르지만 경고에 AccountInfoString (ACCOUNT_COMPANY) 을 추가할 수 있습니다. 동일한 중개업체에 여러 개의 MT5 인스턴스가 동시에 로그인되어 있는 사람은 없을 것이라고 생각하지만, 동일한 중개인으로 다른 계정에 있어야 하는 경우에는 여전히 의미가 있을 수 있습니다. 이 경우(최악의 경우) AccountInfoInteger(ACCOUNT_LOGIN) 또는 AccountInfoString(ACCOUNT_SERVER) 이 적절할 수 있습니다.

예, 모든 식별 데이터를 경고에 넣을 수 있습니다. 그러나 문제는 일반적인 경우에 관한 것입니다.

 
A100 :

그리고 StringToCharArray 외에 어떤 함수가 내부 0에서 제대로 작동하지 않습니까?

예를 들어 StringToShortArray - 오류 없이 작동

StringCompare가 잘못 작동하는 데 사용되었지만 이것은 오래 전에 수정되었습니다.

StringLen에 관한 한


맞습니다. StringToCharArray의 동작을 이제 첫 번째 문자 '\0'이 아닌 전체 문자열 길이로 변경했습니다.

 
Ilyas :

맞습니다. StringToCharArray의 동작을 이제 첫 번째 문자 '\0'이 아닌 전체 문자열 길이로 변경했습니다.

그런 다음 StringToCharArray와 StringToShortArray 사이의 차이점은 하나만 남습니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

A100 , 2021.05.25 00:16

 void OnStart ()
{
     string text = "ABC" ;
     const int start = 0 , count = 0 ;
     uchar array1[]; int n1 = StringToCharArray (  text, array1, start, count );
     short array2[]; int n2 = StringToShortArray ( text, array2, start, count );
     Print ( n1, ":" , n2 );
}

결과: 4:0

예상: 0:0

 
A100 :
그런 다음 StringToCharArray와 StringToShortArray 사이의 차이점은 하나만 남습니다.

동작을 동일하게 했습니다.


선택 사항: 가까운 장래에 배열과 문자열이 다음과 같은 메서드로 보완될 것입니다.

str.ToCharArray(char_arr, from_position, symbol_count);
str.Length();

arr.Size();
string str = char_arr.ToString( code_page );

if(!obj_arr.Push( constructor_parameters ))
   CriticalError("failed to add element");

obj_arr.Sort( compare_func_ptr, context );

obj_arr.Select( uint_result_index_array, filter_func_ptr, context );
 
Ilyas :

가까운 장래에 배열과 문자열이 메소드로 보완될 것입니다.

MQL4와 공통점이 점점 줄어들고 있습니다...