[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 306

 
drknn :

"무한" 길이의 배열은 표시기에서 선언할 수 있습니다. 선언한 다음 루프에서 찾은 값을 즉시 배열에 입력합니다. 유일한 질문은 필요한 선택을 Expert Advisor/스크립트로 전송하는 방법입니다. 자금이 있지만 노동력을 평가할 필요가 있습니다. 아마도 2단계를 수행하는 것이 더 쉬울 것입니다. 첫 번째 단계에서는 필터링된 값의 수를 계산한 다음 배열 차원을 변경하고 두 번째 단계에서는 값을 배열에 입력합니까?

감사합니다. 하지만 지표가 있는 옵션이 적합하지 않습니다. 받은 선택이 Expert Advisor로 이전되기 전에 Expert Advisor에서 지표로 선택 조건을 이전하는 문제가 있습니다.
 
PapaYozh :

필요한 최대 크기보다 큰 배열을 선언하십시오.


바로 :) 크기를 여러 번 늘리면 작동합니다. 예를 들어, 필터링된 값의 수가 천을 초과할 수 없다는 것을 미리 알고 있습니다. 수천 셀의 차원을 가진 배열을 선언하면 완료됩니다. :)

이것만이 우리에게 필요한 운영의 일부를 빼앗아 갈 것입니다. :(

 
drknn :


바로 :) 크기를 여러 번 늘리면 작동합니다. 예를 들어 필터링된 값의 수가 천을 초과할 수 없다는 것을 미리 알고 있습니다. 수천 셀의 차원을 가진 배열을 선언하면 완료됩니다. :)

이것만이 우리에게 필요한 운영의 일부를 빼앗아 갈 것입니다. :(


"필터링된 값의 수가 천을 초과할 수 없다는 것을 미리 알고 있는 경우" 1000차원 배열을 선언하는 것으로 충분합니다.
 
splxgf :

https://docs.mql4.com/ru/math/MathPow 그렇지 않습니까? 또는 기본 작업이 문제의 조건입니다. 그런 다음 http://bpascal.ru/download/desc/436.php 옵션을 선택하면 핸드브레이크에서 모든 작업을 실제로 수행한 다음 지수와 로그를 고유한 기능으로 구현합니다.

예, 조건에 따라. 링크 주셔서 감사합니다, 정확히 제가 필요한 것입니다!
 
Elenn :
좋은 오후, 조언이 필요합니다. 루프는 특정 조건을 충족하는 값을 검색합니다. 찾은 값은 배열에 기록됩니다. 얼마나 많은 값이 발견될지는 미리 알 수 없습니다. 따라서 선언할 배열의 크기를 알 수 없습니다. 시간과 자원 절약의 관점에서 두 번 실행하고 싶지 않습니다 (첫 번째 실행에서 찾은 값의 수를 계산하려면 두 번째 실행에서 배열을 선언하고 배열에 데이터를 씁니다) . 한 번의 실행으로 필요한 결과를 얻을 수 있는 방법이 있습니까?
발견된 각 값에 대해 하나 의 셀씩 배열의 크기를 늘릴 수 있습니다. 다만 속도가 빠르지 않습니다. 크기를 여러 셀만큼 늘려 최적화한 다음 여러 번 반복할 때 크기 조정을 건너뛸 수 있습니다.
 
PapaYozh :

"필터링된 값의 수가 천을 초과할 수 없다는 것을 미리 알고 있는 경우" 1000차원 배열을 선언하는 것으로 충분합니다.


그러나 불가항력의 경우 대체는 어떻습니까? 오류를 보고하고 어드바이저의 작업을 차단하는 코드를 만드시겠습니까? 그래서 사람은 보지 못할 수도 있습니다. 글쎄, 그 순간 그는 직장에있었습니다.

예, 실제로 문제에 대한 솔루션이 하나 이상 있습니다. 필터 루프 내부의 배열 크기를 동적으로 늘리기 위해 Zhunko 가 제안한 것이 가장 좋은 방법이라고 생각합니다. 솔직히 이 답변에 만족합니다. 생각이 안나더라구요 :)

 
drknn :


필터 루프 내부의 배열 크기를 동적으로 늘리기 위해 Zhunko 가 제안한 것이 가장 좋은 방법이라고 생각합니다. 솔직히 이 답변에 만족합니다. 생각이 안나더라구요 :)

솔루션은 정말 독창적입니다. 시도해야 합니다. 하지만 어레이를 다시 선언할 때 재초기화로 인해 데이터가 손실됩니까?
 
Elenn :
솔루션은 정말 독창적입니다. 시도해야 합니다. 하지만 어레이를 다시 선언할 때 재초기화로 인해 데이터가 손실됩니까?

나는 종종 이것을 한다. 초기 배열을 생성합니다. 그런 다음 (필요한 경우) 값을 약간 늘리고(1씩은 불가능, 배열 작업이 너무 오래 걸립니다) 실제로 채워진 배열 의 크기를 제어합니다. 지금까지 문제 없음
 
Vinin :

배열 작업이 너무 오래 걸립니다
어레이로 작업을 수행하거나 특정 어레이로만 작업을 수행하는 데 시간이 오래 걸립니까?
 
Elenn :
어레이로 작업을 수행하거나 특정 어레이로만 작업을 수행하는 데 시간이 오래 걸립니까?

특히 배열의 크기를 변경합니다 . 가능한 한 적게 하는 것이 가장 좋습니다.