MT4와 MT5에 동일한 표시기를 넣었습니다(물론 코드는 각 플랫폼에 맞게 조정됨). 제로바까지는 같은 값을 가지므로 한쪽 끝에서 볼 수 있습니다... :) 그리고 MT4에서 현재 막대의 계산을 끄면 MT5에서 현재 막대 아래에 아무 것도 그려지지 않습니다. 잘못된 값입니다.
MT5 2016.03.08 18:36:23.565 mvt_Vlt (EURUSD,H1) 시간[0] = 2010.01.04 00:00:00 시간[rates_total-1] = 2016.03.08 07:00:0 이제 무엇을 해야 할까요?
두 가지 버전의 표시기에 ArraySetAsSeries 를 추가하십시오. 계산에 사용하는 배열의 경우: high[], low[] 및 일시적으로 time[] 배열의 경우 - "0" 막대가 어디에 있는지 이해하는 데 도움이 됩니다. 따라서 두 버전의 "0" 막대는 차트의 같은 면(ArraySetAsSeries에서 설정한 항목에 따라 오른쪽 또는 왼쪽)에 있으며 표시기의 동일한 계산된 부분을 얻게 됩니다.
Vladimir, 첫 번째 질문에 답변해 주셔서 감사합니다. 이 기능을 놓쳤습니다.
MT4와 MT5에 동일한 표시기를 넣었습니다(물론 코드는 각 플랫폼에 맞게 조정됨).
제로바까지는 같은 값을 가지므로 한쪽 끝에서 볼 수 있습니다... :)
그리고 MT4에서 현재 막대의 계산을 끄면 MT5에서 현재 막대 아래에 아무 것도 그려지지 않습니다. 잘못된 값입니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
초보자의 질문
카르푸토프 블라디미르 , 2016.03.08 15:13
... 디버깅 시간을 확인하십시오 - 시계열 배열 time[i] 에 어떤 값 이 포함되어 있는지 - 그러면 막대 계산을 시작하는 끝과 "0" 막대가 있는 위치를 이해할 수 있습니다.
그런 수표를 넣는 방법은 무엇입니까?
MetaEditore 에 중단점을 추가하고 디버깅을 시작합니다. 중단점에 중단이 있으면 시계에 time[0]을 추가합니다.
MetaEditore에 중단점을 추가하고 디버깅을 시작합니다. 중단점에 중단이 있으면 시계에 time[0]을 추가합니다.
MT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: 시간[0] = 2016.03.08 17:00:00 시간[rates_total-1] = 1971.01.04 00:00:00
MT5 2016.03.08 18:36:23.565 mvt_Vlt (EURUSD,H1) 시간[0] = 2010.01.04 00:00:00 시간[rates_total-1] = 2016.03.08 07:00:0
MT5 코드 ArraySetAsSeries 에 삽입(시간, 참);
이제 출력:
MT5 2016.03.08 18:45:05.402 mvt_Vlt (EURUSD,H1) 시간[0] = 2016.03.08 17:00:00 시간[rates_total-1] = 2010.01.04 00:00:00
가격 배열도 할 수 있습니까?
이미 코드에 출력을 삽입했습니다.
MT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: 시간[0] = 2016.03.08 17:00:00 시간[rates_total-1] = 1971.01.04 00:00:00
이제 무엇을 해야 할까요?
두 가지 버전의 표시기에 ArraySetAsSeries 를 추가하십시오. 계산에 사용하는 배열의 경우: high[], low[] 및 일시적으로 time[] 배열의 경우 - "0" 막대가 어디에 있는지 이해하는 데 도움이 됩니다. 따라서 두 버전의 "0" 막대는 차트의 같은 면(ArraySetAsSeries에서 설정한 항목에 따라 오른쪽 또는 왼쪽)에 있으며 표시기의 동일한 계산된 부분을 얻게 됩니다.
추가: 내가 입력하는 동안 올바른 방법을 찾았습니다 :)
추가: 내가 입력하는 동안 올바른 방법을 찾았습니다 :)
MT5 코드에 삽입:
출력:
이것은 ExtCalcVlBuffer만 표시하고 평균과 편차를 계산하지 않습니다 ...
그리고 여전히 현재 표시줄에 표시되지만 그렇지는 않습니다.
...
그리고 여전히 현재 표시줄에 표시되지만 그렇지는 않습니다.
왜 그래야 하지?
나는 그것을 껐다 i<rates_total-1
왜?!
그리고 현재 값에 의존할 필요가 없습니다. 프로세서를 로드하는 것은 헛된 일이며 이 값은 필요하지 않습니다.
따라서 이러한 위시리스트를 즉시 지정해야 합니다. :).
상황은 다음과 같습니다. 차트에 막대가 있으면 표시기 버퍼 의 셀에 해당합니다. 이 셀에 무언가를 쓸 때까지 쓰레기는 이 셀에 저장됩니다.