초기화된 요소의 수와 버퍼의 첫 번째, 두 번째, 세 번째 및 네 번째 요소가 비어 있다는 사실입니다.
표시기는 0번째 버퍼만 계산합니다. 그렇다면 왜 촛불이 2개일까요?
새로운 막대를 분석할 때 막대의 수를 확인하지 않고 시간만 확인하는 것으로 제한하기 때문입니다. 터미널이 시작되거나 작동 중 서버와의 연결이 중단되면 누락된(전체 기록까지) 막대가 도착하기 전에 틱이 옵니다. 이 틱에 대해 새로운 양초가 생성되지만, 서버에서 다운로드되어 제자리에 삽입되는 터미널의 히스토리와 그 사이에 갭(누락 히스토리)이 있고, 막대의 개수를 분석하지 않기 때문에, 다음 계산에서 새로운 막대 번호가 있다고 생각할 것입니다. 바로 그 때 두 번째 촛불이 나타납니다. 새 막대를 열면 사라집니다.
mql5 : 새로운 막대를 분석할 때 막대의 수를 확인하지 않고 시간만 확인하는 것으로 제한하기 때문입니다. 터미널이 시작되거나 작동 중 서버와의 연결이 중단되면 누락된(전체 기록까지) 막대가 도착하기 전에 틱이 옵니다. 이 틱에 대해 새로운 양초가 생성되지만, 서버에서 다운로드되어 제자리에 삽입되는 터미널의 히스토리와 그 사이에 갭(누락 히스토리)이 있고, 막대의 개수를 분석하지 않기 때문에, 다음 계산에서 새로운 막대 번호가 있다고 생각할 것입니다. 바로 그 때 두 번째 촛불이 나타납니다. 새 막대를 열면 사라집니다.
개발자 여러분, 어딘가에 100% 오류가 있습니다.
댓글이 터미널을 닫고 1분 후에 열어준 스크린샷을 보세요.
초기화된 요소의 수와 버퍼의 첫 번째, 두 번째, 세 번째 및 네 번째 요소가 비어 있다는 사실입니다.
표시기는 0번째 버퍼만 계산합니다. 그렇다면 왜 촛불이 2개일까요?
개발자 여러분, 어딘가에 100% 오류가 있습니다.
댓글이 터미널을 닫고 1분 후에 열어준 스크린샷을 보세요.
초기화된 요소의 수와 버퍼의 첫 번째, 두 번째, 세 번째 및 네 번째 요소가 비어 있다는 사실입니다.
표시기는 0번째 버퍼만 계산합니다. 그렇다면 왜 촛불이 2개일까요?
새로운 막대를 분석할 때 막대의 수를 확인하지 않고 시간만 확인하는 것으로 제한하기 때문입니다. 터미널이 시작되거나 작동 중 서버와의 연결이 중단되면 누락된(전체 기록까지) 막대가 도착하기 전에 틱이 옵니다. 이 틱에 대해 새로운 양초가 생성되지만, 서버에서 다운로드되어 제자리에 삽입되는 터미널의 히스토리와 그 사이에 갭(누락 히스토리)이 있고, 막대의 개수를 분석하지 않기 때문에, 다음 계산에서 새로운 막대 번호가 있다고 생각할 것입니다. 바로 그 때 두 번째 촛불이 나타납니다. 새 막대를 열면 사라집니다.
그리고 무조건 터미널이 닫혀 있을때 리셋이 되는건 상관없나요?
바실리 바의 수 를 인쇄하는 테스트 표시기를 구동합니다.
다음은 로그에 인쇄된 내용입니다.
문제가 어디에 있는지 알 수 있을지도...
개발자분들의 간단한 답변 부탁드립니다.
터미널이 닫힐 때 차트에 첨부된 프로그램에서 DeInit() 함수가 실행됩니까?
엄밀히 말하면 아니
OnDeinit가 실행됩니다. DeInit는 OnDeinit에서 명시적으로 호출하는 경우에만 실행됩니다.
이전 deinit 함수를 참조하는 경우 함수 이름이 대소문자를 구분한다는 점도 염두에 두십시오. 즉, DeInit는 알 수 없는 함수이고, deinit는 초기화 해제를 위한 표준 진입점입니다(OnDeinit처럼).
그리고 무조건 터미널이 닫히면 리셋이 되는건가요?
무슨 상관이야? 터미널이 닫히면 이 버퍼가 필요하지 않습니다. 왜냐하면 OnDeinit 직후에 발생하는 프로그램이 언로드될 때 버퍼가 즉시 해제되기 때문입니다.
기간을 변경해 보십시오. OnDeinit는 작동하고 버퍼는 유지되지만(이 경우 프로그램이 언로드되지 않기 때문에) 아무도 "과거 생활"의 내용을 보장하지 않습니다.
마지막으로 설명서를 읽으십시오! https://docs.mql4.com/ru/runtime/running 및 https://docs.mql4.com/ru/runtime/event_fire#deinit
무슨 상관이야? 터미널이 닫히면 이 버퍼가 필요하지 않습니다. 왜냐하면 OnDeinit 직후에 발생하는 프로그램이 언로드될 때 버퍼가 즉시 해제되기 때문입니다.
기간을 변경하려고 합니다. OnDeinit는 작동하고 버퍼는 유지되지만(이 경우 프로그램이 언로드되지 않기 때문에) 아무도 "과거 생활"의 내용을 보장하지 않습니다.
마지막으로 설명서를 읽으십시오! https://docs.mql4.com/ru/runtime/running 및 https://docs.mql4.com/ru/runtime/event_fire#deinit
즉, 내 경우에는 차트를 다시 열 때 이미 버퍼 분할이 발생합니까?
버퍼 분할이 없습니다.
이것이 자신의 버퍼를 채우는 방법입니다. 렌더링 시 처음으로, 데이터 일부가 도착할 때 두 번째. 동일한 Time[0] 값으로 작업하는 두 번
버퍼 분할이 없습니다.
이것이 자신의 버퍼를 채우는 방법입니다. 렌더링 시 처음으로, 데이터 일부가 도착할 때 두 번째. 동일한 Time[0] 값으로 작동하는 두 번
확인.
그런 다음 영어 도움말을 수정하면 됩니다.
ArrayInitialize 가 아무 것도 반환하지 않는다고 영어 도움말에도 나와 있습니다.