특히 그가 말했듯이, 갑자기 무언가 잘못되어 prev_calculated가 Rates_total보다 큰 것으로 판명되면. 맥스 때 그런 상황을 만났습니다. 창의 막대 != 무제한, 예를 들어 50000. 이 경우 새 막대가 있을 때마다 막대 배열의 크기가 1씩 증가했지만 어느 시점에서 다시 50000이 되었습니다. 논리를 파악하지 못했습니다. 몇 년 전에 이것을 잡았습니다. 이제 확인해야 합니다. 내 VPS에 출력물을 넣을 것입니다.
i>=0 주기인 틱 의 예를 보여주세요. 아마도 내가 뭔가를 잊어버렸고 제대로 하고 있지 않을 수 있습니다.
나는 이미 그러한 구성을 사용하여 rate_total 숫자로 버퍼 인덱스에 액세스한다고 썼습니다(prev_calculated == 0일 때). 그리고 이것은 오버플로 입니다. Rates_total 은 버퍼의 크기이고 마지막 요소는 Rates_total -1 이기 때문입니다.
1단계: 'MQL5 마법사'를 사용하여 공백 생성:
2단계: 'limit'의 철자를 정확하게 지정하고 닫기 배열을 사용하세요. iClose를 호출하지 마세요!!!
결과:
오류가 없습니다.
이것이 한계와 지표의 유일한 정확한 계산이라고 누가 말했습니까?
논의는 역사의 시작부터 현재까지 왼쪽에서 오른쪽으로 한계와 지표 자체의 다른 계산에 관한 것입니다. 더 간단하고 명확합니다.
이러한 방식으로 계산된 한계(int limit = Rates_total - prev_calculated; if(limit>1) limit=rates_total-1;)는 다음의 모든 데이터를 즉시 포함합니다.
현재 눈금이 (limit==0)이면 for(int i=limit; i>=0; i--) { // ... }는 각각의 새 눈금에 대한 표시기를 계산하고 0 막대만 계산합니다. 다시 계산됩니다.
새 막대의 여는 것이 (limit==1)이면 for(int i=limit; i>=0; i--) { // ... }는 첫 번째 막대와 0 막대를 계산합니다. 새로 오픈한
이것이 기록 변경(limit>1)인 경우 for(int i=limit; i>=0; i--) { // ... }는 사용 가능한 전체 기록에 대해 전체 표시기의 완전한 재계산을 수행합니다. (역사는 변경된 곳이 있습니다)
차이점이 뭐야? 0보다 작을 수 있습니까?
예, 했습니다(이전 메시지에 추가됨)
그러나 분명히 이 문제는 영구적입니다.
그리고 지금은 if-s만 가능합니다.
Artyom만이 문제를 이해했습니다.
그러나 분명히 이 문제는 영구적입니다.
그리고 지금은 if-s만 가능합니다.
아니, 이해하지 못했다. 제가 이해한 바를 알려주세요...
그럼에도 불구하고 삼항 연산자는 더 간결해 보입니다(IMHO).
특히 그가 말했듯이, 갑자기 무언가 잘못되어 prev_calculated가 Rates_total보다 큰 것으로 판명되면.
맥스 때 그런 상황을 만났습니다. 창의 막대 != 무제한, 예를 들어 50000. 이 경우 새 막대가 있을 때마다 막대 배열의 크기가 1씩 증가했지만 어느 시점에서 다시 50000이 되었습니다. 논리를 파악하지 못했습니다. 몇 년 전에 이것을 잡았습니다. 이제 확인해야 합니다. 내 VPS에 출력물을 넣을 것입니다.
아니, 이해하지 못했다. 제가 이해한 바를 알려주세요...
지금은 예전처럼 작동하지 않습니다
제한==0
틱의 경우 i>=0
막대 i>0의 경우
위의 당신은 모든 것을 올바르게 썼습니다.
for(int i=limit; i>=0; i--)는 새 막대에 대해서만 잘못 입력 되었습니다.
여기서 연산자 =는 필요하지 않지만 아마도 이미 과거일 것입니다.
이전 동작을 반환하지 않는 경우.
지금은 예전처럼 작동하지 않습니다
제한==0
틱의 경우 i>=0
막대 i>0의 경우
위의 당신은 모든 것을 올바르게 썼습니다.
for(int i=limit; i>=0; i--)는 새 막대에 대해서만 잘못 입력 되었습니다.
여기서 연산자 =는 필요하지 않지만 아마도 이미 과거일 것입니다.
이전 동작을 반환하지 않는 경우.
역시나 나는 아무것도 이해하지 못했다. 당신에게 무슨 문제가 있습니까? 모든 것이 이전과 동일한 것 같습니다.
역시나 나는 아무것도 이해하지 못했다. 당신에게 무슨 문제가 있습니까? 모든 것이 이전과 동일한 것 같습니다.
그런 디자인으로
표시기 버퍼가 범위를 벗어났습니다.
i>=0 주기인 틱 의 예를 보여주세요.
아마도 내가 뭔가를 잊어버렸고 제대로 하고 있지 않을 수 있습니다.
그런 디자인으로
표시기 버퍼가 범위를 벗어났습니다.
그런 디자인으로
표시기 버퍼가 범위를 벗어났습니다.
i>=0 주기인 틱 의 예를 보여주세요.
아마도 내가 뭔가를 잊어버렸고 제대로 하고 있지 않을 수 있습니다.
나는 이미 그러한 구성을 사용하여 rate_total 숫자로 버퍼 인덱스에 액세스한다고 썼습니다(prev_calculated == 0일 때).
그리고 이것은 오버플로 입니다. Rates_total 은 버퍼의 크기이고 마지막 요소는 Rates_total -1 이기 때문입니다.