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

 

안녕하세요!

지정된 기간 동안 차트에서 3개의 최고점(또는 최저점)을 찾고 기억하고 추가 계산에 사용하는 방법을 알려주시겠습니까?

또는 코드에 대한 링크를 제공하십시오.

포럼에서 코드를 찾았지만 검색을 통해 작동하지 않았습니다.

고맙습니다.

 
LOA :

안녕하세요!

지정된 기간 동안 차트에서 3개의 최고점(또는 최저점)을 찾고 기억하고 추가 계산에 사용하는 방법을 알려주시겠습니까?

또는 코드에 대한 링크를 제공하십시오.

포럼에서 코드를 찾았지만 검색을 통해 작동하지 않았습니다.

고맙습니다.


예를 들어 Eurobucks의 기간을 하루로 설정했습니다. M15를 엽니다. 아래 스크린샷을 참조하세요. 요일 경계는 빨간색 수직선으로 표시됩니다. 프랙탈 표시기는 이 간격에 3개 이상의 최저점과 최고점이 있음을 보여줍니다. 이 극값 중 어떤 것이 필요한지 알아내기 위해 찾고 있는 코드는 어떻습니까?

 
LOA :

안녕하세요!

지정된 기간 동안 차트에서 3개의 최고점(또는 최저점)을 찾고 기억하고 추가 계산에 사용하는 방법을 알려주시겠습니까?

또는 코드에 대한 링크를 제공하십시오.

포럼에서 코드를 찾았지만 검색을 통해 작동하지 않았습니다.

고맙습니다.

https://docs.mql4.com/ru/series/iHighest

https://docs.mql4.com/ru/series/iLowest
 

Vladimir와 Vadim, 답변 주셔서 대단히 감사합니다!

내가 찾은 최대 하나는 ...

하나.

mas_UP[]//상한값의 배열.

 int index = iHighest ( NULL , 0 , 2 ,MODE_HIGH, 20 ,i);
       double MAX = mas_UP[index]; //первый максимум

2. 정도(프랙탈 포함)

 int size_up= ArrayRange (mas_UP, 0 );
       for (s=i;s<=size_up;s++);
       int index= ArrayMaximum (mas_UP);
       double MAX = UP[s];

하지만 다음은 어떻게? 어려운(아직 배우는 중)

옵션은 최대값으로 발견된 요소를 0으로 만든 다음 동일한 배열을 다시 스크롤합니다. 두 번째 최대값을 찾은 다음 세 번째 .....

 if (MAX> 0 )
       int n=n+ 1 ; //счётчик экстремумов
      mas_UP[index]= 0 ;

하지만 확실하지 않습니다.

 
LOA :

Vladimir와 Vadim, 답변 주셔서 대단히 감사합니다!

내가 찾은 최대 하나는 ...

하나.

2. 정도(프랙탈 포함)

하지만 다음은 어떻게? 어려운(아직 배우는 중)

옵션은 최대값으로 발견된 요소를 0으로 만든 다음 동일한 배열을 다시 스크롤합니다. 두 번째 최대값을 찾은 다음 세 번째 .....

하지만 확실하지 않습니다.


따라서 주어진 간격에서 정확히 마지막 세 개의 최고점이 필요합니까, 아니면 다른 것이 필요합니까?
 
drknn :

따라서 주어진 간격에서 정확히 마지막 세 개의 최고점이 필요합니까, 아니면 다른 것이 필요합니까?


마지막이 아닌 해당 기간 동안 3개의 최고점입니다. 또는 오히려 후자일 필요는 없습니다.

 
LOA :


마지막이 아닌 해당 기간 동안 3개의 최고점입니다. 또는 오히려 후자일 필요는 없습니다.


오 어떻게. 그럼, 나는 당신을 위해 전체 작업을 확장합니다.

주어진 시간 간격이 있습니다. 이 간격에서 세 개의 최대 샘플이 필요합니다.

이 문제를 해결하려면 다음이 필요합니다.

- 주어진 구간의 경계를 인식하는 알고리즘

- 최대값을 찾는 알고리즘

- 찾은 것 중에서 원하는 최대값을 인식하는 알고리즘입니다.

추신

어떤 최대값이 필요하고 최대값을 정확히 결정하는 방법을 미리 알지 못하기 때문에 기성품 코드를 찾을 수 없습니다. 이것은 방금 나열된 작업의 순차 솔루션이 필요한 코드를 정확히 제공할 것임을 의미합니다.

 
drknn :


오 어떻게. 글쎄, 나는 당신을 위해 작업을 완전히 확장 할 것입니다.

주어진 시간 간격이 있습니다. 이 간격에서 최대 3개의 샘플이 필요합니다.

이 문제를 해결하려면 다음이 필요합니다.

- 주어진 구간의 경계를 인식하는 알고리즘

- 최대값을 찾는 알고리즘

- 찾은 것 중에서 원하는 최대값을 인식하는 알고리즘입니다.


올바르게 공식화된 문제는 거의 해결책입니다. 고맙습니다.

첫 번째도 처리할 수 있고 두 번째도 처리할 수 있습니다. 여기에 마지막 요점이 있습니다. 솔직히 잘 모르겠지만 생각하겠습니다.

 int n= 0 ; //счётчик максимумов
       if (MAX> 0 )
       int n=n+ 1 ;
      mas_UP[index]= 0 ;

이 옵션 - 아이디어가 정확하거나 다른 방향, 즉

최대값으로 발견 된 배열의 요소를 0으로 만든 다음 동일한 배열을 다시 스크롤합니다. 두 번째 최대값을 찾은 다음 세 번째 .....

 
LOA :


올바르게 공식화된 문제는 거의 해결책입니다. 고맙습니다.

첫 번째도 처리할 수 있고 두 번째도 처리할 수 있습니다. 여기에 마지막 요점이 있습니다. 솔직히 잘 모르겠지만 생각하겠습니다.

이 옵션 - 아이디어가 정확하거나 다른 방향, 즉

최대값으로 발견된 배열 요소를 0으로 만든 다음 동일한 배열을 다시 스크롤합니다. 두 번째 최대값을 찾은 다음 세 번째 .....


이제 코드가 당신에게 전혀 관심이 가지 않도록 하십시오 - 알고리즘을 만드십시오 - 프로그램은 정확히 어떻게 해야 합니까? 그렇지 않으면 정체됩니다. 모든 프로그램은 어리석습니다. 정확한 지침이 필요합니다. 이렇게 하려면 프로그램이 수행해야 하는 작업을 정확히 알아야 합니다. 그리고 그 후에야 프로그램 코드로 옷을 입히는 방법을 선택할 수 있습니다.
 
drknn :

지금 코드에 전혀 관심이 없다고 가정하고 알고리즘을 작성하십시오. 그렇지 않으면 정체됩니다. 모든 프로그램은 어리석습니다. 정확한 지침이 필요합니다. 이렇게 하려면 프로그램이 수행해야 하는 작업을 정확히 알아야 합니다. 그리고 그 후에야 프로그램 코드로 옷을 입히는 방법을 선택할 수 있습니다.

확인. 알고리즘이 있을 것입니다. 그렇지 않으면 이미 상트페테르부르크의 밤 1시 반입니다.