표시기가 손상됨 - 페이지 2

 
jjc :

예를 들어, 현재 오전 8시라면 (a) 오전 7시에 대한 막대가 60 막대 전이거나 심지어 (b) 07:00에 대한 막대가 전혀 존재한다고 가정하는 코드의 모든 항목이 있습니다.

좋은 점, 나는 처음 차트를 보았을 때 차트가 M1이라는 사실에 감사하지 않았습니다. . . 예를 들어 밤새 조용한 시간에 M1 막대가 누락되는 것은 매우 일반적입니다.
 
RaptorUK :
좋은 점, 나는 처음 차트를 보았을 때 차트가 M1이라는 사실에 감사하지 않았습니다. . . 예를 들어 밤새 조용한 시간에 M1 막대가 누락되는 것은 매우 일반적입니다.
이 경우 브로커와의 일시적인 연결 끊김일 가능성이 더 높다고 생각하지만 원리와 의미는 같습니다.
 
jjc :
이 경우 브로커와의 일시적인 연결 끊김일 가능성이 더 높다고 생각하지만 원리와 의미는 같습니다.
..."이동 오류" 스크린샷에서 보라색 선이 누락된 M1 막대가 있는 것처럼 보이는 지점에서 더 이상 그려지지 않는 것도 주목할 만합니다.
 
AnkaSoftware :

흠 "새 기록 데이터가 차트에 추가되었습니다", 어떻게? 표시기가 시작되고 방해받지 않은 상태로 유지됩니다. 1000바의 고정 룩백이 있습니다. 표시기는 기록 데이터를 로드하지 않습니다.

개발 팀의 누군가가 이것을 볼 수 있습니까?

당신은 말했다. . . " 저는 처음 16시간 정도 동안 잘 작동하는 표시기를 개발했습니다." . . . 16시간 x 60분 = 960바 . . . 룩백을 500바로 줄이면 어떻게 됩니까? 8시간 후에 문제가 발생합니까?
 

Jic, 관찰해 주셔서 감사합니다.

테스트는 안정적인 연결이 있는 CNS VPS 서버에서 수행되며 테스트에 사용된 데모 계정 은 브로커 IBFX 및 VantageFX를 사용합니다.

매 틱마다 RefreshRates()를 수행하고 일반 시계열 함수를 사용하여 막대 데이터에 액세스합니다. 표시기를 업데이트하는 데 사용되는 코드는 이전 게시물에서 DrawMoveEx 기능을 참조하십시오. TimeSeries에는 0에서 'Bars -1'까지 누락된 막대가 없다고 생각합니다. 이 가정이 잘못된 경우 알려주십시오.

시간 척도가 정확하고 오른쪽으로 스크롤하지 않는(현재 IBFX 데이터 포함) 다른 스냅샷을 포함합니다.

2011.10.07 15:30 포스트에 동봉된 엑셀파일을 보실 기회가 있으셨나요?

 

AnkaSoftware :
I believe the TimeSeries does not have missing bars from 0 to 'Bars -1'. Let me know if this assumption is incorrect.

원래 "이동 오류" 스크린샷에는 각 X축 마커 사이에 16개의 막대가 있기 때문에 그 가정은 확실히 잘못된 것으로 보입니다. 그리고 RaptorUK가 말했듯이 코드에서 안전하게 만들 수 있는 가정이 아닙니다. 하루 중 매 분마다 거래가 있을 필요는 없습니다. 주요 공휴일 외에 GBPUSD에 거래가 없다면 놀랄 것입니다. 1분.

누락된 막대가 없다고 생각하는 경우(스크린샷 중 하나에 누락된 막대가 있는 것이 명백할 때) 해당 가정/믿음에 따라 코딩하고 있을 것입니다. 나는 당신의 최신 스크린샷을 반대 증거로 간주하지 않을 것입니다. 왜냐하면 (a) 스크린샷에 표시된 기간 이전에 누락된 데이터가 있고 (b) 스크린샷에 표시된 막대 계산에 어떻게든 영향을 미칠 수 있기 때문입니다.

가장 의심스러운 점은 분명히 누락된 막대가 있는 기간 동안 원본 스크린샷에서 보라색 선이 멈춘다는 것입니다. 전체 코드를 보지 않고는 더 이상 댓글을 달거나 스프레드시트 를 분석할 수 없었습니다.

 
AnkaSoftware :

Jic, 관찰해 주셔서 감사합니다.

테스트는 안정적인 연결이 있는 CNS VPS 서버에서 수행되며 테스트에 사용된 데모 계정은 브로커 IBFX 및 VantageFX를 사용합니다.

매 틱마다 RefreshRates()를 수행하고 일반 시계열 함수를 사용하여 막대 데이터에 액세스합니다.

아마도 문제의 원인은 아니지만 . . 다음 함수를 사용하는 경우 RefreshRates()는 차이가 없습니다. https://docs.mql4.com/series RefreshRates는 다음 변수만 새로 고칩니다. https://docs.mql4.com/predefined/variables
 
jjc :

원래 "이동 오류" 스크린샷에는 각 X축 마커 사이에 16개의 막대가 있기 때문에 그 가정은 확실히 잘못된 것으로 보입니다. 그리고 RaptorUK가 말했듯이 코드에서 안전하게 만들 수 있는 가정이 아닙니다. 하루 중 매 분마다 거래가 있을 필요는 없습니다. 주요 공휴일 외에 GBPUSD에 거래가 없다면 놀랄 것입니다. 1분.

누락된 막대가 없다고 생각하는 경우(스크린샷 중 하나에 누락된 막대가 있는 것이 명백할 때) 해당 가정/믿음에 따라 코딩하고 있을 것입니다. (a) 스크린샷에 표시된 기간 이전에 누락된 데이터가 있을 수 있고 (b) 스크린샷에 표시된 막대에 대한 계산에 어떻게든 영향을 미칠 수 있기 때문에 귀하의 최신 스크린샷을 반대 증거로 간주하지 않습니다.

가장 의심스러운 점은 분명히 누락된 막대가 있는 기간 동안 원본 스크린샷에서 보라색 선이 멈춘다는 것입니다. 전체 코드를 보지 않고는 더 이상 댓글을 달거나 스프레드시트를 분석할 수 없었습니다.

Raptor, "룩백을 500바로 줄이면 어떻게 되는지, 8시간 후에 문제가 발생하나요?"를 확인할 것입니다. 그리고 되돌리기.

JIC, 32비트 플랫폼에서는 문제가 발생하지 않습니다. 이전 게시물 중 하나에서 일부 코드를 제공했습니다.

 
AnkaSoftware :
TimeSeries에는 0에서 'Bars -1'까지 누락된 막대가 없다고 생각합니다. 이 가정이 잘못된 경우 알려주십시오.

물론 0부터 Bars-1까지 번호가 매겨진 Bars 양초가 있습니다. ArraySize(Close) == 항상 막대.

그러나 항상 건너뛴 막대가 있습니다. 금요일 21:59z부터 다음 막대는 Sun 22:00z입니다. 주말 및 공휴일 및 활동이 없는 분.

Time[x] == Time[x+1] + 60*Period() 가 건너뛴 막대에 없을 것이라고 가정할 수 없습니다.

귀하의 지표에 대한 도움이 필요하면 귀하의 코드를 게시하십시오. 여기에는 독자가 없습니다.

 
AnkaSoftware :

추가 정보 -

a) 표시기 손상은 Windows 64비트 플랫폼에서만 발생합니다.

b) 손상 전과 손상 후에 표시기 배열을 덤프했습니다. 주석이 포함된 동봉된 xls 파일에서도 동일하게 사용할 수 있습니다.

스프레드시트 의 Unix 시간 값을 살펴보십시오. 각 인접한 값 사이의 간격은 60, 60초여야 하며 몇 개의 240초 간격과 적어도 하나의 120초 간격이 있습니다. 코드가 누락된 M1 막대를 처리하도록 설계되었습니까?