커뮤니티
아래 iff 구문의 의미가 이해 안됩니다.
2013-05-09 10:08:30
289
글번호 62987
자동추세선 로직중에보면
iff(예비고bar<우,예비고<h,1)
라는 구문이 있습니다. 그런데, iff문은 iff(조건,1,0) 처럼 조건이 만족하면 1, 아니면 0을 반환하는 것 아닌가요?
위의 자동추세선 로직의 iff는 예비고bar가 우 보다 작으면, 예비고<h 를 리턴하라 말인데.. 이게 이해가 안되네요.
- 1. 자동추세선.yin (0.00 MB)
답변 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 를 리턴하라 말인데.. 이게 이해가 안되네요.
다음글
이전글