내가 당신을 올바르게 이해한다면, 당신은 프로그램이 시작될 때 BuyTicket 및 일부 다른 변수에 알 수 없는 값이 포함되어 있기 때문에 무슨 일이 일어날 수 있는지 정확히 지적하지 않았기 때문에 그가 초기화되지 않은 변수를 사용한다는 사실이 걱정할 일이 아니라는 말입니까?
글쎄, 그렇게 될 것입니다. 그가 초기화되지 않은 변수를 사용하게 하십시오. 무엇이 잘못될 수 있습니까?
제안한 대로 모든 변수를 초기화하고 부울에서 "==true"를 제거 했습니다. 또한 코드 줄 내부에서 모든 은행 공간을 제거했습니다. 저는 약 2시간 동안 랩톱과 PC에서 각각 하나씩 두 개의 다른 기호에 대해 디버거를 사용하여 테스트했으며 오류 없이 정확한 시간에 판매, 구매 및 닫기가 모두 정상적으로 작동했습니다. 그러나 그런 다음 PC와 랩톱의 다른 3개 기호에 EA를 추가하여 4개 모두가 두 터미널에서 모두 작동하고 그 이후로 모두가 입력 및 종료를 놓치기 시작했습니다. 테스트가 끝나면 한 터미널에서 열린 위치를 닫기 전에 EA를 제거하고 다른 터미널에서 열린 위치를 닫은 후 EA를 제거했습니다. 여전히 열려 있는 위치가 있는 터미널은 EA를 제거하는 데 매우 오랜 시간이 걸렸지만 열린 위치가 없는 터미널은 4개의 EA를 모두 즉시 제거했습니다. 수정된 코드는 아래에 별도로 게시됩니다.
먼저 모든 변수를 의미 있는 기본값으로 초기화했는지 확인하십시오. 예를 들어 초기화되기 전에 BuyTicket을 사용하고 있으므로 처음 실행할 때 값이 될 수 있습니다.
MQL4 참조 파일(MQL4 참조/언어 기본/변수/변수 초기화)에서 발췌:
If a variable is not initialized explicitly, the value stored in this variable can be any. Implicit initialization is not used.
따라서 다음 부분에서 변수에 기본값을 추가합니다.
그리고 예, MQL4에는 버그와 단점이 있지만 대부분의 오류는 참조 매뉴얼의 기본 사항만 읽으면 피할 수 있습니다.
또한 MQL4 프로그램의 일반적인 버그에 대한 기사가 있습니다. 포럼 상단을 확인 하면 링크를 찾을 수 있습니다.
먼저 모든 변수를 의미 있는 기본값으로 초기화했는지 확인하십시오. 예를 들어 초기화되기 전에 BuyTicket을 사용하고 있으므로 처음 실행할 때 값이 될 수 있습니다.
MQL4 참조 파일(MQL4 참조/언어 기본/변수/변수 초기화)에서 발췌:
따라서 다음 부분에서 변수에 기본값을 추가합니다.
사실이지만 사용법에 따라 다릅니다. 값을 가져올 위치를 알고 있기 때문에 선언하고 싶을 때도 있고 특정 기본값으로 초기화하지 않으면 올바르게 작동하지 않을 수 있으므로 무언가로 초기화해야 할 때도 있습니다.
사실이지만 사용법에 따라 다릅니다. 값을 가져올 위치를 알고 있기 때문에 선언하고 싶을 때도 있고 특정 기본값으로 초기화하지 않으면 올바르게 작동하지 않을 수 있으므로 무언가로 초기화해야 할 때도 있습니다.
정의 위치에서 변수를 초기화할 필요는 없지만 변수를 사용하기 전에 어떤 값으로 초기화해야 합니다.
초기화 전에 사용하면 값을 예측할 수 없습니다. 그의 오류도 마찬가지입니다. 더 깊은 코드 분석 을 하기 전에 그는 이 문제를 처리해야 합니다.
최신 컴파일러는 초기화되지 않은 변수를 사용하려고 하면 오류가 발생합니다. MQL4는 불행히도 그렇지 않으므로 코더는 모든 것이 올바르게 초기화되었는지 확인해야 합니다.
적절한 초기화 없이 var를 사용한다는 점 을 지적할 수 있습니다.
https://www.mql5.com/en/forum/151167/page2#954612 의 첫 번째 줄에서 두 번째 문장을 읽으십시오.
당신은 그것을 비판하기 전에 답변을 읽을 수 있습니다.
BTW, 여기서 어떻게 도와주나요? "똑똑하다"는 말은 별로 도움이 되지 않습니다.
나는 내 것을 게시하기 전에 읽었습니다. 내 말은, 그에게 var와 관련된 한 가지를 보여주고 그 var가 제대로 초기화되지 않았다는 것입니다.
헤헤. GumRai가 이깁니다. XD
내가 당신을 올바르게 이해한다면, 당신은 프로그램이 시작될 때 BuyTicket 및 일부 다른 변수에 알 수 없는 값이 포함되어 있기 때문에 무슨 일이 일어날 수 있는지 정확히 지적하지 않았기 때문에 그가 초기화되지 않은 변수를 사용한다는 사실이 걱정할 일이 아니라는 말입니까?
글쎄, 그렇게 될 것입니다. 그가 초기화되지 않은 변수를 사용하게 하십시오. 무엇이 잘못될 수 있습니까?