[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 192

 

제발 내게 말해줘. MathMax 가 작동하지 않는 이유를 모르겠습니다.

코드의 단순화된 버전(더 쉬워지지 않음)도 작동하지 않습니다. GBPUSD_High 변수는 어떤 것에도 포함되지 않습니다 .

추신: 우리는 표시기가 로드된 순간부터 막대의 값에만 관심이 있습니다.

//+----------------------------------------------- --------------------
#속성 표시기_분리_창
#속성 표시기_버퍼
3
#property indicator_color1 블랙
#property indicator_color2 회색
#property indicator_color3 회색
//------------------------------------------------ --------------------
더블
GBPUSD[], GBPUSD_High[], GBPUSD_Low[];
//------------------------------------------------ --------------------
정수
초기화()
{
//------------------------------------------------ --------------------
SetIndexBuffer
( 0 ,GBPUSD);
SetIndexStyle
( 0 , DRAW_LINE , STYLE_SOLID , 2 );
SetIndexBuffer
( 1 ,GBPUSD_High);
SetIndexStyle
( 1 , DRAW_LINE , STYLE_DOT , 1 );
SetIndexBuffer
( 2 ,GBPUSD_Low);
SetIndexStyle
( 2 , DRAW_LINE , STYLE_DOT , 1 );
//------------------------------------------------ --------------------
반환
;
}
//------------------------------------------------ --------------------
정수
시작()
{
int
Counted_bars, i;
//------------------------------------------------ --------------------
Counted_bars= IndicatorCounted ();
i= 막대 -Counted_bars- 1 ;
동안
(i>= 0 )
{
GBPUSD[i]= 마감 [i];
if
(GBPUSD_Low[i]== 0 ) GBPUSD_Low[i]=GBPUSD[i];
GBPUSD_High[i]= MathMax (GBPUSD_High[i],GBPUSD[i]);
GBPUSD_Low[i]= MathMin (GBPUSD_Low[i],GBPUSD[i]);
나--;
}
//------------------------------------------------ --------------------
반환
;
}
//------------------------------------------------ --------------------

물론 GBPUSD로 로드합니다.

 
alderru >> :

제발 내게 말해줘. MathMax 가 작동하지 않는 이유를 모르겠습니다.

코드의 단순화된 버전(더 쉬워지지 않음)도 작동하지 않습니다. GBPUSD_High 변수는 어떤 것에도 포함되지 않습니다 .

추신: 우리는 표시기가 로드된 순간부터 막대의 값에만 관심이 있습니다.

물론 GBPUSD로 로드합니다.

MathMax 는 그것과 아무 관련이 없습니다. 변수 데이터는 어디서 얻나요? 옵션:

 while ( i > = 0 )
{
GBPUSD [ i ] = Close [ i ] ;
GBPUSD_High [ i ] = High    [ i ] ;
GBPUSD_Low [ i ] = Low [ i ] ;

//if (GBPUSD_Low[i]==0) GBPUSD_Low[i]=GBPUSD[i];

GBPUSD_High [ i ] = MathMax ( GBPUSD_High [ i ] , GBPUSD [ i ] ) ;
GBPUSD_Low [ i ] = MathMin ( GBPUSD_Low [ i ] , GBPUSD [ i ] ) ;
i - - ;
}
 
tmp.0 >> :

MathMax 는 그것과 아무 관련이 없습니다. ..

정확히! 따라서 High는 항상 Close보다 크거나 같고 MathMin은 동일합니다. ;)

 
OneDepo писал(а) >>

정확히! 따라서 High는 항상 Close보다 크거나 같고 MathMin은 동일합니다. ;)

들어 그는 소위 가치 계산을 구체적으로 인용했습니다. 원본에서는 완전히 다른 변수의 막대에서 최대값과 최소값을 찾고 있습니다. 지표가 표시되면 물론 막대 가 형성 되는 동안 변수의 곡선이 다시 그려집니다. 경계점을 찾고 있습니다.

MathMax 함수 자체가 작동하지 않는 이유를 이해할 수 없습니다. MathMin 은 잘 작동하고 GBPUSD_Low 곡선이 그려지고 있습니다...

프로그래밍 문법 의 관점에서 언급한 사항이 있습니까?

GBPUSD_High 값이 계산되지 않는 이유, 여기에 무엇이 잘못되었는지 표시기를 설정합니다.

 
alderru >> :

예를 들어 그는 알려진 값의 계산을 구체적으로 인용했습니다. 원본에서는 완전히 다른 변수의 막대에서 최대값과 최소값을 찾고 있습니다. 지표가 표시되면 물론 막대 가 형성 되는 동안 변수의 곡선이 다시 그려집니다. 경계점을 찾고 있습니다.

MathMax 함수 자체가 작동하지 않는 이유를 이해할 수 없습니다.

프로그래밍 문법 의 관점에서 언급한 사항이 있습니까?

표시기를 설치하고 GBPUSD_High 값이 계산되지 않는 이유를 여기에 설명하십시오.

당신의 머리를 속이지 마십시오. 이것을 원하는 코드에 붙여넣습니다.

Print (GBPUSD_High[i],":",GBPUSD_Low[i],":",GBPUSD[i]); 
그리고 당신은 "전문가" 탭에서 깨달음을 얻게 될 것입니다.
 
tmp.0 писал(а) >>

당신의 머리를 속이지 마십시오. 이것을 원하는 코드에 붙여넣습니다.

그리고 당신은 "전문가" 탭에서 깨달음을 얻게 될 것입니다.

그래서 뭐...

통찰력이 없습니다. Print는 표시기를 표시하는 것처럼 두 개의 값만 인쇄합니다. 세번째는요??

당신은 당신이 제안한 것을 시도 했습니까?

 
다음 질문 부탁드립니다 :)
 
tmp.0 писал(а) >>
다음 질문 부탁드립니다 :)

매우 영리한.

도와 주셔서 감사합니다".

 
alderru >> :

매우 영리한.

도와 주셔서 감사합니다".

위에서 이미 답변을 받았습니다. 그 이유는 할당문의 오른쪽에 할당되지 않은 값을 사용하기 때문입니다. GBPUSD_High[i] 는 얼마입니까?

GBPUSD_High[i]=MathMax(GBPUSD_High[i],GBPUSD[i]);

당신과 상황을 바로잡는 옵션이 나타났습니다. 아이러니를 남겨주세요.


 
OneDepo писал(а) >>

그 이유는 할당문의 오른쪽에 할당되지 않은 값을 사용하기 때문입니다.

이것은 표시기 버퍼의 선언이 셀 값이 0과 같다는 것을 전혀 의미하지 않는다는 것을 의미합니다. 바르게?

따라서 비교된 값 중 하나(즉, GBPUSD_High )에 값이 없기 때문에 MathMax 는 계산되지 않습니다(0도 아님).

분명한. OneDepo 감사합니다.

제 단순화(말장난)로 모든 사람을 혼란스럽게 해서 죄송합니다. 이미 언급했듯이 나는 견적의 높은 가치에 관심이 없습니다. 나는 자체 기능의 막대에 대한 최대 값에 관심이 있습니다. 막대가 형성되는 동안 지표가 안전하게 그리고 다시 그리는 곡선입니다. . 내가 관심을 가진 것은 막대 중에 다시 그리는 표시기의 범위였습니다.

나는 생각할 것이다.

추신 하지만 조건이 동일하고 동일한 방식으로 선언되기 때문에 MathMin 이 질문 없이 고려되는 이유는 무엇입니까?

PSS 어딘가에 나는 매우 바보입니다. 작동하지 않습니다. 도와주세요, 제발.

사유: