커뮤니티

아래 iff 구문의 의미가 이해 안됩니다.

프로필 이미지
제우스
2013-05-09 10:08:30
289
글번호 62987
답변완료
자동추세선 로직중에보면 iff(예비고bar<우,예비고<h,1) 라는 구문이 있습니다. 그런데, iff문은 iff(조건,1,0) 처럼 조건이 만족하면 1, 아니면 0을 반환하는 것 아닌가요? 위의 자동추세선 로직의 iff는 예비고bar가 우 보다 작으면, 예비고<h 를 리턴하라 말인데.. 이게 이해가 안되네요.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-05-09 16:12:23

안녕하세요 예스스탁입니다. iff(조건,A,B)는 조건이 만족하면 A 아니면 B 를 리턴합니다. A와 B에 조건식이 들어갈수도 있습니다. iff(조건1,조건2,1)은 조건1이 만족하면 조건2도 만족해야 하고 조건1이 만족하지 않으면 추가조건은 필요없음을 나타냅니다. 올리신 식 해당 iff문 다른 표현으로 변경하면 아래와 같습니다. input:좌(5),우(5); var:j(0),예비고(0),예비저(0),예비고bar(0),예비저bar(0),고점표시(0),저점표시(0), 고점추세선(0),저점추세선(0); array:고[50](0),저[50](0),고bar[50](0),저bar[50](0); //변곡점 계산 if highest(h,좌)==h and iff(예비고bar<우,예비고<h,1) then { 예비고=h; 예비고bar=0; } else 예비고bar=예비고bar+1; if lowest(l,좌)==l and iff(예비저bar<우,예비저>l,1) then { 예비저=l; 예비저bar=0; } else 예비저bar=예비저bar+1; 고점표시=(o[우]+c[우])/2; 저점표시=(o[우]+c[우])/2; for j=1 to 49 begin 고bar[j]=고bar[j]+1; 저bar[j]=저bar[j]+1; end; if 예비고bar==우 then { if 저bar[1]>고bar[1] then { if 고[1]<예비고 then { 고점표시=예비고*1.0005; 고[1]=예비고; 고bar[1]=예비고bar; } } else { for j=49 downto 2 begin 고[j]=고[j-1]; 고bar[j]=고bar[j-1]; end; 고점표시=예비고*1.0005; 고[1]=예비고; 고bar[1]=예비고bar; } } if 예비저bar==우 then { if 고bar[1]>저bar[1] then { if 저[1]>예비저 then { 저점표시=예비저*0.9995; 저[1]=예비저; 저bar[1]=예비저bar; } } else { for j=49 downto 2 begin 저[j]=저[j-1]; 저bar[j]=저bar[j-1]; end; 저점표시=예비저*0.9995; 저[1]=예비저; 저bar[1]=예비저bar; } } //자동추세선 계산 고점추세선 = 0; for j = 2 to 49 begin if 고[j] > 고[1] and 고점추세선 == 0 then { 고점추세선=((고[1]-고[j])/(고bar[j]-고bar[1]))*고bar[j]+고[j]; j = 50; } end; 저점추세선 = 0; for j = 2 to 49 begin if 저[j] < 저[1] and 저점추세선 == 0 then { 저점추세선=((저[1]-저[j])/(저bar[j]-저bar[1]))*저bar[j]+저[j]; j = 50; } end; //지표출력 if 고점표시 > h[우] then plot1(고점표시,"전고점",red); if 저점표시 < l[우] then plot2(저점표시,"전저점",blue); if 고점추세선>0 then plot3(고점추세선,"고점추세선",red); if 저점추세선>0 then plot4(저점추세선,"저점추세선",blue); 즐거운 하루되세요 > 제우스 님이 쓴 글입니다. > 제목 : 아래 iff 구문의 의미가 이해 안됩니다. > 자동추세선 로직중에보면 iff(예비고bar<우,예비고<h,1) 라는 구문이 있습니다. 그런데, iff문은 iff(조건,1,0) 처럼 조건이 만족하면 1, 아니면 0을 반환하는 것 아닌가요? 위의 자동추세선 로직의 iff는 예비고bar가 우 보다 작으면, 예비고<h 를 리턴하라 말인데.. 이게 이해가 안되네요.