복사 틱과 복사 속도를 혼동했을 가능성이 높지만 거기에도 구조 배열이 있고 필요한 구조의 요소를 지정할 수 있습니다.
double PrevClose = rates[copied-1].close;
코드에 추가 줄이 생겼습니다.
CopyTicks와 CopyRates는 복사할 때 배열 크기 자체를 할당하기 때문에 이 줄은 필요하지 않습니다.
힌트 주셔서 감사합니다. 몰랐네요. 만일을 대비해 이 줄을 삽입합니다.
요금에서는 모든 가격이 평균화되고 막대를 고려하지만 틱에서는 그렇지 않다는 농담을 올바르게 이해 했습니까? 그래서 막대 가격이 아닌 임의의 시간 간격을 사용하기 위해 틱을 사용했습니다. 비슷한 수식의 CopyRates는 복사된 변수를 시간 간격의 최대 값인 ulong 유형으로 채웠습니다. 이 문제도 해결할 수 없었습니다.
요금은 모든 가격이 평균화되고 막대를 고려하지만 틱은 그렇지 않다는 농담을 제가 올바르게 이해했나요? 그래서 막대 가격이 아닌 임의의 시간 간격을 사용하기 위해 틱을 사용했습니다. 비슷한 수식의 CopyRates는 복사된 변수를 시간 간격의 최대 값인 ulong 유형으로 채웠습니다. 이 문제도 해결할 수 없었습니다.
"틱 배열에서 최대값 찾기"-무엇의 최대값을 찾아야 하나요?
틱스[복사된-1].bid 또는 틱스[복사된-1].flags
농담입니다)))))
복사 틱과 복사 속도를 혼동했을 가능성이 높지만 거기에도 구조 배열이 있고 필요한 구조의 요소를 지정할 수 있습니다.
double PrevClose = rates[copied-1].close;
코드에 추가 줄이 생겼습니다.
CopyTicks와 CopyRates는 복사할 때 배열 크기 자체를 할당하기 때문에 이 줄은 필요하지 않습니다.힌트 주셔서 감사합니다. 몰랐네요. 만일을 대비해 이 줄을 삽입합니다.
요금에서는 모든 가격이 평균화되고 막대를 고려하지만 틱에서는 그렇지 않다는 농담을 올바르게 이해 했습니까? 그래서 막대 가격이 아닌 임의의 시간 간격을 사용하기 위해 틱을 사용했습니다. 비슷한 수식의 CopyRates는 복사된 변수를 시간 간격의 최대 값인 ulong 유형으로 채웠습니다. 이 문제도 해결할 수 없었습니다.
팁 주셔서 감사합니다. 몰랐어요. 만일을 대비해 이 줄을 삽입합니다.
요금은 모든 가격이 평균화되고 막대를 고려하지만 틱은 그렇지 않다는 농담을 제가 올바르게 이해했나요? 그래서 막대 가격이 아닌 임의의 시간 간격을 사용하기 위해 틱을 사용했습니다. 비슷한 수식의 CopyRates는 복사된 변수를 시간 간격의 최대 값인 ulong 유형으로 채웠습니다. 이 문제도 해결할 수 없었습니다.
모든 것이 잘못되었습니다.
MqlRates는 구조이며, 이를 변수로 취급합니다.
MqlTick도 구조체입니다.
당신은 따뜻함과 부드러움을 결합하려고 노력하고 있으므로 컴파일러가 당신을 이해하지 못합니다.
나도)))))
아마도 내가 유용한 것을 제안 할 수 있지만 코드에서 무엇을 찾으려는지 명확하지 않습니다.
모두 잘못되었습니다.
MqlRates는 구조이며, 이를 변수로 취급합니다.
MqlTick도 구조체입니다.
따뜻함과 부드러움을 결합하려고 하므로 컴파일러가 이해하지 못합니다.
나도 마찬가지입니다))))
아마도 내가 유용한 것을 제안 할 수 있지만 코드에서 무엇을 찾으려는지 명확하지 않습니다.
작업은 막대에 관계없이 임의의 기간 동안의 WPR(윌리엄스 퍼센트 범위) 값의 차이를 얻을 수 있도록 WPR(윌리엄스 퍼센트 범위)을 수정하는 것입니다.
이것이 원하는 결과일 가능성이 있습니다(확실하지는 않지만).
double lowestLow = ArrayMinimum(bid, 0, copied);
감사합니다. 제가 수업을 제대로 이해했다면 여기까지입니다:
그러나 안타깝게도 bid_arr[i] = ticks[i].bid; 줄에서 'namemyexpert.mq5'(204,12)의 범위를 벗어난 배열로 인해 Expert Advisor가 차트에서 벗어났습니다.감사합니다. 제가 교훈을 제대로 배웠다면 다음과 같은 결과가 나왔습니다:
어쨌든 모든 틱을 반복하고 있으므로이 루프에서 복사 할 수는 없지만 한 번에 최대-최소값을 찾을 수 있습니다.
그건 그렇고, 복사하는 경우 먼저 복사하는 배열의 크기를 설정하는 것이 좋을 것입니다. 루프가 우리를 위해 그것을하지 않을 것이며 첫 번째 반복에서 배열에서 날아갈 것입니다. CopyTicksRange만 대상 배열 자체의 크기를 조정합니다.
어차피 모든 틱을 순환하기 때문에 이 주기에서는 복사할 수 없지만 최대-최소값을 한 번에 찾을 수 있습니다.
그건 그렇고, 복사하는 경우 먼저 복사 할 배열의 크기를 설정하는 것이 좋을 것입니다. 루프가 우리를 위해 그것을하지 않을 것이며 첫 번째 반복에서 배열에서 날아갈 것입니다. CopyTicksRange만 대상 배열 자체의 크기를 조정합니다.
저는 완벽주의자이기 때문에 배열된 구조의 개별 요소를 정렬하는 것은 스티로폼으로 유리를 두드리는 것과 같습니다.
어차피 모든 틱을 순환하기 때문에 이 주기에서는 복사할 수 없지만 최대-최소값을 한 번에 찾을 수 있습니다.
그건 그렇고, 복사하는 경우 먼저 복사 할 배열의 크기를 설정하는 것이 좋을 것입니다. 루프가 우리를 위해 그것을하지 않을 것이며 첫 번째 반복에서 배열에서 날아갈 것입니다. CopyTicksRange만 대상 배열 자체의 크기를 조정합니다.
죄송합니다. 제가 부주의했습니다. 수정했습니다. 고마워요. ArrayMaximum 값이 가격이 아니라 인덱스라는 사실을 잊고 있었습니다. 하지만 이제 고쳤습니다.
ArrayMaximum이 틱 배열에서 작동하지 않았기 때문에 루프에 if를 사용하여 대체 계산을 시도했습니다. 이것이 더 나은 이유는 무엇일까요?
왜 더 나은가요?