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

[삭제]  
도와주세요. MEditor5에서 어드바이저를 마법사로 만들고 컴파일하고 차트에 올리면 (어드바이저)가 충돌합니다. 아이콘이 나타났다가 사라집니다
[삭제]  
cokfx :
도와주세요. MEditor5에서 어드바이저를 마법사로 만들고 컴파일하고 차트에 올리면 (어드바이저)가 충돌합니다. 아이콘이 나타났다가 사라집니다

올빼미는 어떤 심볼과 TF를 붙이나요? 로그에 무엇을 기록합니까?
 
Renat :

즉, 테스터나 MQL5 런타임의 오류는 없지만 프로그래머의 명백한 실수가 있다.

음. 프로그래머는 그에게 예상치 못한 프로그램의 동작을 발견 하고, 이 동작의 본질을 밝히고, 그것을 명확하게 재현하고, 부조리( 음수 값을 갖는 수면 )의 지점에 가져오는 가장 간단한 예시적인 예를 제시했고, 그를 위해 프로그래머의 실수입니다 :) "프로그래머의 실수"는 예를 들어 테스터의 Sleep 기능이 작동하지 않는다는 명시적인 진술입니다.

위의 설명에서 개발자는 Sleep() 함수에 음수 값을 사용하는 것이 허용된다고 생각합니다. 그러나 기능 설명("...현재 Expert Advisor 또는 스크립트의 실행을 특정 간격으로 지연")에서 지연 간격이 음수로 계산될 수 있다고 가정하기 어렵습니다. ..그리고 우리는 오류에 대해 이야기하고 있기 때문에 터미널이 Sleep() 함수에서 음수 값 사용을 중지해야한다는 내 진술을 고려할 수 있습니다.

 
Yedelkin :

음. 프로그래머는 그에게 예상치 못한 프로그램의 동작을 발견 하고, 이 동작의 본질을 밝히고, 그것을 명확하게 재현하고, 부조리( 음수 값을 갖는 수면 )의 지점에 가져오는 가장 간단한 예시적인 예를 제시했고, 그를 위해 프로그래머의 실수입니다 :) "프로그래머의 실수"는 예를 들어 테스터의 Sleep 기능이 작동하지 않는다는 명시적인 진술입니다.

위의 설명에서 개발자는 Sleep() 함수에 음수 값을 사용하는 것이 허용된다고 생각합니다. 그러나 기능 설명("...현재 Expert Advisor 또는 스크립트의 실행을 특정 간격으로 지연")에서 지연 간격이 음수로 계산될 수 있다고 가정하기 어렵습니다. ..그리고 우리는 오류에 대해 이야기하고 있기 때문에 터미널이 Sleep() 함수에서 음수 값 사용을 중지해야한다는 내 진술을 고려할 수 있습니다.

그리고 음수 지연 값으로 입력하기 전에 절전 모드를 종료할 것으로 예상했습니까?
 

Yedelkin, 컴파일러가 함수 매개변수를 제어하는 것을 어떻게 상상하십니까? 그러나 매개변수 값을 제어해야 하는 12개 이상의 함수가 있습니다.

여기 두 가지 중 하나가 있습니다. 편집 속도 또는 완전한 편집증 제어입니다.

우리는 첫 번째 길을 택했습니다. 동시에 실행 하위 시스템은 실행 단계에서 잘못된 매개변수를 건너뛰지 않아 GetLastError 함수를 사용하여 취할 수 있는 오류 코드를 생성합니다.

Документация по MQL5: Проверка состояния / GetLastError
Документация по MQL5: Проверка состояния / GetLastError
  • www.mql5.com
Проверка состояния / GetLastError - Документация по MQL5
 
음수 값의 결과를 계산하고 int의 32비트와 상관시킨 다음 산술 오버플로에 대해 읽고 17일을 찾으십시오.

실제 프로그래밍의 세계에 오신 것을 환영합니다.
 
uncleVic :
그리고 분명히 음수 지연 값을 사용하여 잠자기에 들어가기 전에 종료할 것으로 예상했습니까?

예상 가정이 틀렸습니다.

음수 값으로 작업하는 것은 전혀 예상되지 않았습니다. 위의 내 게시물을 참조하십시오. " 기능에 대한 설명("...특정 간격 동안 현재 Expert Advisor 또는 스크립트 실행 지연")에서 지연 간격을 음수로 계산할 수 있다고 가정하기 어렵습니다 . 그리고 그것은 내가 "기대할 수 있는" 것에 관한 것이 아니라 사실, SLeep 기능을 사용하여 음수 값으로 작업할 수 있다는 사실에 관한 것입니다. 그것이 발견되었을 때 - 메시지를 보냈습니다. Sleep() 함수의 그러한 작업이 허용 가능하다고 생각한다면 그대로 유지됩니다.

 
Yedelkin :

그러나 실제로 Sleep 기능 을 사용하면 음수 값으로 작업할 수 있습니다.

무엇을 제공하고 있습니까? 프로그램 충돌?
 
Yedelkin :

예상 가정이 틀렸습니다.

음수 값으로 작업하는 것은 전혀 예상되지 않았습니다. 위의 내 게시물을 참조하십시오. " 기능에 대한 설명("...특정 간격 동안 현재 Expert Advisor 또는 스크립트 실행 지연")에서 지연 간격을 음수로 계산할 수 있다고 가정하기 어렵습니다 . 그리고 그것은 내가 "기대할 수 있는" 것에 관한 것이 아니라 사실, SLeep 기능을 사용하여 음수 값으로 작업할 수 있다는 사실에 관한 것입니다. 그것이 발견되었을 때 - 메시지를 보냈습니다. Sleep() 함수의 그러한 작업이 허용 가능하다고 생각한다면 그대로 유지됩니다.

물론 내부 표현은 서명되지 않습니다.

매개변수 유형을 uint로 변경하도록 요청할 수 있습니다.

 
stringo :

Yedelkin, 컴파일러가 함수 매개변수를 제어하는 것을 어떻게 상상하십니까? 그러나 매개변수 값을 제어해야 하는 12개 이상의 함수가 있습니다.

여기 두 가지 중 하나가 있습니다. 편집 속도 또는 완전한 편집증 제어입니다.

우리는 첫 번째 길을 택했습니다. 동시에 실행 하위 시스템은 실행 단계에서 잘못된 매개변수를 건너뛰지 않아 GetLastError 함수를 사용하여 취할 수 있는 오류 코드를 생성합니다.

네 여러분, 저는 항상 편입니다! :) 그리고 나는 당신이 프로그래밍에 대해 알고 있는 것의 아주 작은 부분만을 알고 있습니다(저는 MQL5 Reference만 사용합니다). 그러나 개인적으로 명확하지 않은 순간이 있으면 그것에 대해 씁니다. 가능하면 '이해할 수 없는 순간'에 대한 명확한 예를 들어보려고 합니다. 그 과정에서 나는 왜 이 순간이 이해할 수 없는지 설명 합니다 . 따라서 '알람이 거짓이다'라고 생각한다면 내가 참고자료를 잘못 이해했거나 참고자료가 그 순간을 이해하는 데 필요한 모든 정보를 반영하지 못한 것으로 판명된다. 이 경우 "Sleep function" 섹션에 (1) "컴파일러가 함수 매개변수의 값을 제어하지 않으므로 함수가 음수 값으로 작동할 수 있다는 표시(경고)가 있으면 충분할 것입니다. " 및 (2) "Function Sleep( )은 테스터에서 완벽하게 지원됩니다."

..컴파일러가 작동하는 방식 - 잘 모르겠습니다. 컴파일러 작업의 설명된 패러다임에 따라 수십 가지 기능에 대한 메모에 해당 매개변수의 값이 터미널에 의해 제어되지 않는다는 점을 반영하고자 하는 바람이 있습니다.