MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1416

 
ANDREY :

설명해주셔서 감사합니다.

그건 그렇고, 나는 노란색 플러스를 삭제했고 컴파일러에서 오류가 발생했습니다. 그래서 그들은 이 전체 구조에서 어떤 역할을 합니다. 그러나 무엇 .... 나는 아직도 이해하지 못합니다. 문자열 추가 가 파란색 플러스의 도움으로 독점적으로 수행되는 경우 왜 필요한가요? 그리고이 디자인에서 더 많은 설명으로 판단하면 아무것도 추가하지 않습니다 ..... 내가 틀리지 않는다면.

그리고 string(i)에 대해... 유형 캐스팅에 대해.... 좀 더 명확합니다. 그것이 무엇인지는 분명하지 않습니다 ..... string이 변수 유형의 이름입니다. i - 배열 요소의 인덱스를 나타내는 변수 카운터. 내가 괄호() 안에 있는 이유는 무엇 입니까? 지금까지는 괄호가 함수의 표시라고 생각했습니다. 예를 들어 인쇄( ). 그리고 일부 함수의 괄호 안에는 다양한 데이터가 입력됩니다. 그리고 그것들이 의미하는 바는, 또는 괄호가 i 및 이 모든 구성 (문자열(i))과 관련하여 수행하는 기능은 무엇입니까? 언뜻보기에 변수 i 는 int (integer) 유형이었던 것 같습니다. 그런 다음 변수 i 의 유형을 int에서 string (string)으로 변경했습니다. 그러나 그렇게 생각하는 것은 i 를 나타내는 괄호에 의해 허용되지 않습니다.

설명 감사합니다.

이것은 캐스트가 아니라 변수 i에 있는 값 변환입니다.

더 자주 볼 수 있습니다

eStr+=( string )i+ ": " + DoubleToString (eArray[i], 4 )+ ", " ;
 
Alekseu Fedotov :

이것은 캐스트가 아니라 변수 i에 있는 값 변환입니다.

더 자주 볼 수 있습니다


팁 고마워. 변수 i의 값을 변환합니다. 내 코드는 무엇을 의미합니까?
1. i의 값은 0이었고,
(string)i+ 이후에는 1이 되었고, 그 다음에는 2가 되는 식으로 30이 되었습니다. 그렇다면 왜 (string), 그리고 단지   나는 ++?
2. 변수 i의 타입은 int이고, (string)i+ 이후에는 string? 그러면 값 변환이 아니라 변수 유형 변환입니다.


그리고 더 .... 노란색 플러스가 더해지는 것을 나에게 설명해 줄 수 있습니다. 아니면 무엇을 위한 것입니까?

 eStr + = string (i) + ": " + DoubleToString (eArray[i], 4 ) + ", " ;

설명 감사합니다.

 
ANDREY :

팁 고마워. 변수 i의 값을 변환합니다. 내 코드는 무엇을 의미합니까?
1. i의 값은 0이었고,
(string)i+ 이후에는 1이 되었고, 그 다음에는 2가 되는 식으로 30까지 계속되었습니다. 그렇다면 왜 (string), 그리고 단지   나는 ++?
2. 변수 i의 유형은 int이고 (string)i+가 string이 된 후? 그러면 값 변환이 아니라 변수 유형 변환입니다.


그리고 더 .... 노란색 플러스가 더해지는 것을 나에게 설명해 줄 수 있습니다. 아니면 무엇을 위한 것입니까?

설명 감사합니다.

형식 변환 또는 명시적 형식 캐스팅은 동일합니다. 설명서에서는 두 표현을 모두 사용합니다. Alexey의 예약, 즉 유형 변환을 올바르게 알아 차렸습니다 ...

다음: 여러 줄이 있습니다.

  1. string형으로 명시적으로 캐스트된 int형 i(0으로 두십시오)
  2. ": "
  3. eArray[i] DoubleToString 함수 를 통해 문자열로 캐스트(1.6251로 설정)
  4. ", "

i 값은 각 반복에서 루프에서 증가하고 거기에서 이 라인으로 들어갑니다 ...

이 줄 사이에 플러스가 있음을 유의하십시오. 이러한 플러스는 이러한 라인을 한 라인에 추가합니다. 결과는 문자열 "0: 1.6251"입니다. 그리고 이 문자열은 += 연산자를 사용하여 eStr 변수의 문자열에 추가됩니다.


 
ANDREY :

팁 고마워. 변수 i의 값을 변환합니다. 내 코드는 무엇을 의미합니까?
1. i의 값은 0이었고,
(string)i+ 이후에는 1이 되었고, 그 다음에는 2가 되는 식으로 30이 되었습니다. 그렇다면 왜 (string), 그리고 단지   나는 ++?
2. 변수 i의 유형은 int이고 (string)i+가 string이 된 후? 그러면 값 변환이 아니라 변수 유형 변환입니다.


그리고 더 .... 노란색 플러스가 더해지는 것을 나에게 설명해 줄 수 있습니다. 아니면 무엇을 위한 것입니까?

설명 감사합니다.

노란색 더하기 기호의 도움으로 Print() 를 사용하여 인쇄하는 문자열(텍스트)을 형성합니다.

StringConcatenate() 함수로 동일한 작업을 수행할 수 있습니다.

eStr+= StringConcatenate (( string )i, ": " , DoubleToString (eArray[i], 4 ), ", " );
 
Alekseu Fedotov :

노란색 더하기 기호의 도움으로 Print() 를 사용하여 인쇄하는 문자열(텍스트)을 형성합니다.

StringConcatenate() 함수로 동일한 작업을 수행할 수 있습니다.

이 함수는 MQL4에서와 다르게 MQL5에서 작동하므로 사용하지 않는 것이 좋습니다. 따라서 MQL5 언어로 전환 시 이해에 어려움이 있을 수 있습니다.


내가 틀릴 수도 있지만...

mql4

 string    StringConcatenate ( 
   void argument1,         // первый параметр любого простого типа  
   void argument2,         // второй параметр любого простого типа 
   ...                     // следующий параметр любого простого типа 
   );

mql5

 int    StringConcatenate ( 
   string &  string_var,   // строка для формирования 
   void argument1         // первый параметр любого простого типа  
   void argument2         // второй параметр любого простого типа 
   ...                     // следующий параметр любого простого типа 
   );

보시다시피 mql5에서는 간단한 문자열 추가와 매우 유사합니다.

 eStr+= string (i)+ ": " + DoubleToString (eArray[i], 4 )+ ", " ;
 StringConcatenate (eStr, i, ": " , eArray[i], ", " );
그리고 이 함수에서는 추가적인 걱정 없이 타입 변환이 일어납니다.
 
Alexey Viktorov :

이 함수는 MQL4에서와 다르게 MQL5에서 작동하므로 사용하지 않는 것이 좋습니다. 따라서 MQL5 언어로 전환 시 이해에 어려움이 있을 수 있습니다.

소중한 정보 감사합니다

 
Alekseu Fedotov :

노란색 더하기 기호의 도움으로 Print() 를 사용하여 인쇄하는 문자열(텍스트)을 형성합니다.

StringConcatenate() 함수로 동일한 작업을 수행할 수 있습니다.

저에게 새로운 정보를 주셔서 감사합니다.

 
ANDREY :

소중한 정보 감사합니다

급하게 작성한 글을 업데이트 했습니다.

그리고 당신에게 무언가를 설명하는 모든 사람에게 당신이 얼마나 감사하는지 이미 모든 사람에게 분명합니다. 별도의 메시지로 주제를 늘리지 마십시오 ...

 
Alexey Viktorov :

다음: 여러 줄이 있습니다.

  1. string형 으로 명시적으로 캐스트 된 int형의 i(0으로 두십시오)
  2. ": "
  3. eArray[i] DoubleToString 함수 를 통해 문자열로 캐스트(1.6251로 설정)
  4. ", "




1.6251을 i 만큼 명시적 으로 문자열로 캐스팅 할 수 없는 이유는 무엇입니까? 이것은 더 짧고 컴퓨팅 리소스를 절약합니다 ..... 나에게 보입니다.

설명 감사합니다

 
Alexey Viktorov :

급하게 작성한 글을 업데이트 했습니다.

그리고 당신에게 무언가를 설명하는 모든 사람에게 당신이 얼마나 감사하는지 이미 모든 사람에게 분명합니다. 별도의 메시지로 주제를 늘리지 마십시오 ...

확인. 그런 다음 각 답변에 대한 감사가 기본적으로 암시됩니다(변수에 저장됩니다 :):):) )... 괜찮으시다면.