포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 43

 

창에 보이는 막대 중 ATR의 최대값을 반환하는 함수 작성을 도와주세요. 인터넷을 다 뒤져봤는데 비슷한게 없었습니다.

감사해요,

 
dr.Vasgenich :

창에 보이는 막대 중 최대 ATR 값을 얻는 함수 작성을 도와주세요. 인터넷을 다 뒤져봤는데 비슷한게 없었습니다.

감사해요,

/

외부 정수 p = 4; // ATR 기간

//------

정수 시작()

{

정수 나;

더블 m;

동안( 나는 < WindowBarsPerChart() - p )

{

더블 a = iATR( NULL, 0, p, i );

만약 (m < a)

{

m = 에이;

}

나는 ++;

}

Alert( " 표시 되는 막대 수에 대한 핍 단위 ATR의 최대값은 ", m / Point ); //

/////

리턴(0);

}

 

보잉747 감사합니다. 바로 여기에 글을 올렸어야 했습니다.

따라서 내 버전의 함수의 최종 버전은 다음과 같습니다.

더블 ATR_Max() {
정수 나;
더블 m;
동안( 나는 < WindowBarsPerChart() - p ) {
더블 a = iATR( NULL, 0, p, i );
만약 (m < a) {
m = 에이;
}
나는 ++;
}
Alert( " 표시되는 막대의 최대 ATR 값은 - ", m );
반환(m);
}

 
dr.Vasgenich :

보잉747 감사합니다. 바로 여기에 글을 올렸어야 했습니다.

따라서 내 버전의 함수의 최종 버전은 다음과 같습니다.

더블 ATR_Max() {
정수 나;
더블 m;
동안( 나는 < WindowBarsPerChart() - p ) {
이중 a = iATR( NULL, 0, p, i );
만약 (m < a) {
m = 에이;
}
나는 ++;
}
Alert( " 표시되는 막대의 최대 ATR 값은 - ", m );
반환(m);
}

나는 그것을 잘못 보았다( i < WindowBarsChart() - p )

아마도 함수 iATR( NULL, 0, p, i ); 차트의 모든 막대에 대한 값을 계산하며 가능하고 필요합니다.

while( i < WindowBarsChart() )을 수정합니다. iATR() 함수로 작업한 적이 없습니다. 어떻게든 실험을 해야 합니다.

원칙적으로는 iATR() 함수를 사용하지 않고 가장 순수한 형태로 함수를 작성할 수 있습니다.

 
Boeing747 :

나는 그것을 잘못 보았다( i < WindowBarsChart() - p )

아마도 함수 iATR( NULL, 0, p, i ); 차트의 모든 막대에 대한 값을 계산하며 가능하고 필요합니다.

while( i < WindowBarsChart() )을 수정합니다. iATR() 함수로 작업한 적이 없습니다. 어떻게든 실험을 해야 합니다.

원칙적으로는 iATR() 함수를 사용하지 않고 가장 순수한 형태로 함수를 작성할 수 있습니다.


지금은 그 시기와 아무 상관이 없는 것 같다는 생각도 들었다. 제거하는 것이 가장 좋을 것 같습니다.

배열로 할 수 없습니까? 창에 있는 모든 ATR의 값을 배열로 모아서 그런 함수를 통해 최대값 을 구합니다 - ArrayMaximum 하지만 제 지식으로는 부족합니다.




 
dr.Vasgenich :

지금은 그 시기와 아무 상관이 없는 것 같다는 생각도 들었다. 제거하는 것이 가장 좋습니다.

배열로 할 수 없습니까? 창에 있는 모든 ATR의 값을 배열로 모아서 그런 함수를 통해 최대값을 구합니다 - ArrayMaximum 하지만 제 지식으로는 부족합니다.




예, iATR()을 스크롤할 수 있습니다. 루프에서 배열을 채우고 ArrayMaximum 을 사용하여 ATR의 최대값을 추출합니다. 그러나 그것은 여전히 유성 기름으로 밝혀졌습니다. 왜냐하면 어쨌든, 특히 이것을 위해서는 첫 번째 버전에서와 같이 배열을 채우는 사이클을 사용해야하기 때문입니다. 그러나 첫 번째 변형에서는 루프를 스크롤하는 과정에서 최대값이 계산되어 ArrayMaximum 변형보다 훨씬 경제적입니다. 여기에는 특별한 지식이 필요하지 않습니다. 교과서나 참고서에 ArrayMaximum/
 
Boeing747 :
예, iATR()을 스크롤할 수 있습니다. 루프에서 배열을 채우고 ArrayMaximum을 사용하여 ATR의 최대값을 추출합니다. 그러나 그것은 여전히 유성 기름으로 밝혀졌습니다. 왜냐하면 어쨌든, 특히 이것을 위해서는 첫 번째 버전에서와 같이 배열을 채우는 사이클을 사용해야하기 때문입니다. 그러나 첫 번째 변형에서는 루프를 스크롤하는 과정에서 최대값이 계산되어 ArrayMaximum 변형보다 훨씬 경제적입니다. 여기에는 특별한 지식이 필요하지 않습니다. 교과서나 참고서에 ArrayMaximum/

감사합니다 내일 테스트 해봐야겠습니다. 또 다른 질문은 이 함수에서 테스터의 리소스를 어떻게 저장하여 각 눈금 이 아니라 새 막대가 나타난 후에 최대값을 계산하도록 할 수 있습니까?
 
dr.Vasgenich :

감사합니다 내일 테스트 해봐야겠습니다. 한 가지 더 질문입니다. 이 함수에서 테스터의 리소스를 어떻게 저장하여 각 눈금이 아니라 새 막대가 나타난 후에 최대값이 계산되도록 할 수 있습니까?

시작하기 위해 이것을 시도 할 수 있습니다

글로벌 수준에서 우리는 t를 선언합니다

주기 동안 우리는 다음과 같이 씁니다.

if ( t != 시간[0] )

{

t = 시간[0];

// ATRmax가 계산되는 루프

}

따라서 루프의 계산 은 새 막대를 열 때 한 번 수행됩니다. 더 똑똑한 다른 옵션이 있을 수 있습니다.

 

Boeing747, dr.Vasgenich 여러분, "SRC" 버튼을 잘못 사용합니까, 아니면 괜찮습니까?

 
Zhunko :

Boeing747, dr.Vasgenich 여러분, "SRC" 버튼을 사용하는 것이 약한가요? 아니면 괜찮은가요?

"SRC" 버튼을 사용하는 것을 잊었습니다. 습관이 된 것 같습니다. 60세에 재교육이 어렵다. 내일 나는 당신의 버튼을 사용하려고 할 것입니다