변수의 행동에 대한 오해 - 페이지 5

 
문자열에 문제가 있는 것은 사실입니다. 아무도이 잼에 관심이 없다는 것이 이상합니다. 하지만 아니요, 이상한 일이 아닙니다. 전환이 불과 한 달 전입니다.
 

MetaDriver와 TheExpert를 인정해주셔서 감사합니다. 그렇지 않으면 다른 사람들이 줄 사이만 읽고 부적절한 댓글을 달 때 무엇이 잘못되었는지 증명하는 데 지쳤습니다.

여기 포럼에서 버그를 제대로 보고하고 싶었지만 어떤 사람들은 버그가 무엇인지 이해하지 못한 채 답변해야 한다고 생각합니다.

 
wlad :

문자열과 int의 동작을 비교하는 예를 보여 드리겠습니다.

및 로그 출력:

1. Expert Advisor 로드 및 전역 변수 초기화

2. 외부 변수를 전역 변수로 전달. 처음으로 bool을 통해 구현된 일회성 전송

3. 외부 변수 변경

4. 여기에서 차이점을 볼 수 있습니다.

tempString이 ValueString의 값을 취함 - 잘못됨

ValueInt가 변경되더라도 tempInt 는 값을 유지합니다.

5와 6은 3과 4와 같다.


문자열이 다르게 작동하는 이유를 설명하십시오.

int가 올바른 동안

구체적인 답변 부탁드립니다


무슨 문제인지 알 것 같습니다... 테스트 중에 EA 속성의 매개변수를 수동으로 변경하면 .tpl 파일 어딘가에 저장되고 EA를 다시 컴파일해도 도움이 되지 않습니다. "재설정" 버튼만. 버그인지 아닌지는 모르겠지만...
 
코드에서 무언가가 변경된 경우 extern은 이전, 이전 버전에서 유지됩니다. 전문가 매개변수를 재설정하는 것만으로도 도움이 됩니다. 못 하는 건지 .... 다시 한 번 반복한다 ..... 모르겠다 .......
 
wlad :

MetaDriver와 TheExpert를 인정해주셔서 감사합니다. 그렇지 않으면 다른 사람들이 줄 사이만 읽고 부적절한 댓글을 달 때 무엇이 잘못되었는지 증명하는 데 지쳤습니다.

여기 포럼에서 버그를 제대로 보고하고 싶었지만 어떤 사람들은 버그가 무엇인지 이해하지 못한 채 답변해야 한다고 생각합니다.


질문을 올바르게 공식화해야 합니다. 이것이 테스터의 문제라는 사실에 대해 아무 말도 하지 않았습니다.
 

이것은 테스터의 문제가 아닙니다!

1. EA는 테스터가 아닌 차트의 정상 작동 모드로 시작됩니다!

나는 테스터에 대해 한마디도 언급하지 않았어, 나는 당신이 그것을 어디서 얻었는지 모른다!

2. 작동 중 외부 매개변수 변경

3. 나중에 값을 잘못 취하는 문자열 유형의 전역 변수 에서 문제가 발생합니다.

후자가 변경될 때 외부 변수.

 
wlad :

이것은 테스터의 문제가 아닙니다!

1. EA는 테스터가 아닌 차트의 정상 작동 모드로 시작됩니다!

나는 테스터에 대해 한마디도 언급하지 않았어, 나는 당신이 그것을 어디서 얻었는지 모른다!

2. 작동 중 외부 매개변수 변경

3. 나중에 값을 잘못 취하는 문자열 유형의 전역 변수에서 문제가 발생합니다.

후자가 변경될 때 외부 변수.


호기심이 많은. TestInit2 전체 코드 를 게시할 수 있습니까?
 

젠장, 어쩌면 내가 바보인지....하지만 모든 것이 올바르게 작동합니다!...당신이 제공한 로그에 따르면...

첫 번째 틱에서 tempString 및 tempInt가 변경됩니다. 그런 다음 로그에 출력합니다. 이미 두 번째 틱부터 아무 것도 변경되지 않고 단순히 인쇄됩니다. if 앞에 지문과 주석을 넣으십시오. 그리고 당신은 그 차이를 보게 될 것입니다.

 
valenok2003 :

호기심이 많은. TestInit2 전체 코드 를 게시할 수 있습니까?

주어진 세 가지 예가 모두 설명되어 있습니다.

코드는 최소한으로 단순화되었습니다

 
Sepulca :

젠장, 어쩌면 내가 바보인지....하지만 모든 것이 올바르게 작동합니다!...당신이 제공한 로그에 따르면...

첫 번째 틱에서 tempString 및 tempInt가 변경됩니다. 그런 다음 로그에 출력합니다. 이미 두 번째 틱부터 아무 것도 변경되지 않고 단순히 인쇄됩니다. if 앞에 지문과 주석을 넣으십시오. 그리고 당신은 그 차이를 보게 될 것입니다.

당신은 모든 것을 읽지 않습니다

나는 외부 변수를 변경할 때 문제가 명백하다고 지적했다.

예를 주의 깊게 읽으십시오


초기 출력이 있는 첫 번째 예는 오류를 현지화하는 데 가장 필요한 로그만 출력한 다음 호출로 변경했습니다.

많은 사람들이 init() 함수로 인해 혼란스러워 했기 때문에 start()에서