커뮤니티

일정범위를 지표로 표현하고 싶습니다.

프로필 이미지
백프로만먹자
2009-09-16 00:33:24
704
글번호 24765
답변완료
질문1. 위아래 밴드가 여려가지 있을때 분봉에서 현재가가 위치하는 밴드를 표현하는 방법. 질문2. 조건을 세가지 정도 걸때 아래와 같이 하면 되는지.. (출력된 부분을 보면 이전에 할당된 부분이 0으로 돌아가질 않아서 새로이 값이 입력되기전까지 전에 할당값이 이어지는 문제가 있습니다.) 질문3. 정말 프로그램 언어에 초짜인지라 이렇게 뿐이 못만들지만 다른 세련된 방법이 있을듯 합니다. 간단히 안될까요? 질문의 요지는 조건1,조건2를 만족할때 분봉에서 종가가 어느 밴드에 위치하는지를 알고자함이고, 조건1,조건2를 만족할때 하루중 여러밴드중에 어디메 많이 분포하는지를 알고자 합니다. ----------------------------------------------------------------------------- 아래는 질문2에 대한 설명입니다. 조건1 만족하고 조건2를 만족할때 {조건3,조건4,조건5,... 등} <= 각 조건들을 숫자로 할당하고 print로 뽑아서 카운팅 할 예정입니다. 조건1_a_조건2_a_var60 // (여기서 1은 몇개, 2는 몇개, 3은 몇개)<-이건 엑셀로 조건1_a_조건2_a_var61 조건1_a_조건2_a_var61 ... ... 조건1_d_조건2_d_var99 예를들어 var1= 220; var2= 210; var3= 200; // var1,var2,var3은 수식으로 나온 결과 값이라 가정함 if dayclose(1)> var1 then { // 첫번째 조건 if dayopen > var1 then { // 두번째 조건 if dayclose>var1 then var60=10; if dayclose>var2 and dayclose<var1 then var60=9; if dayclose>var3 and dayclose<var2 then var60=8; if dayclose>var3 and dayclose<var2 then var60=7; if dayclose<var3 then var60=6; } else var60=0; } if dayopen < var1 and dayopen >var2 then { ......................} else var61=0; 같은 방식으로 var3< dayopen <var2 사이에서 var61을 var62로 표현하고 같은 방식으로 var3> dayopen 에서 var62을 var63으로 표현함.. 첫번째 조건 내용을 완성후 같은방법으로 두번째 조건을 복사해 넣기 같은 방식으로 var3< dayclose(1) <var2 사이에서 var71을 var72로 표현하고 같은 방식으로 var3> dayclose(1) 에서 var72을 var73으로 표현함..
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-09-16 09:40:53

안녕하세요 예스스탁입니다. 1. 기존에 수식에서 사용한것과 같이 케이스별로 조건을 주어 변수에 다른 값을 할당하여 구분하시면 됩니다. 이때 빠지는 케이스가 없는지 유의하셔야 합니다. if dayclose >= var1 then var60=10; if dayclose >=var2 and dayclose < var1 then var60=9; if dayclose >=var3 and dayclose < var2 then var60=8; if dayclose < var3 then var60=7; 2. 조건을 늘여서 작성하시면 됩니다. 더 세련된 작성법은 없습니다. 다른 방법또한 식이 길어지며 더 어렵게 작성될수 있습니다. 이해하기 편하신 방법으로 작성하시면 되며 다만 식작성시 중복되게 작성하시는 것만 피하시면 됩니다. var1= 220; var2= 210; var3= 200; // var1,var2,var3은 수식으로 나온 결과 값이라 가정함 if dayclose(1)> var1 then { // 첫번째 조건 if dayopen >= var1 then { // 두번째 조건 if dayclose >= var1 then var60=10; if dayclose >=var2 and dayclose < var1 then var60=9; if dayclose >=var3 and dayclose < var2 then var60=8; if dayclose < var3 then var60=7; } else var60=0; if dayopen < var1 and dayopen >= var2 then { if dayclose >= var1 then var61=10; if dayclose >=var2 and dayclose < var1 then var61=9; if dayclose >=var3 and dayclose < var2 then var61=8; if dayclose < var3 then var61=7; } else var61=0; if dayopen < var2 and dayopen >= var3 then { if dayclose >= var1 then var62=10; if dayclose >=var2 and dayclose < var1 then var62=9; if dayclose >=var3 and dayclose < var2 then var62=8; if dayclose < var3 then var62=7; } else var62=0; if dayopen < var3 then { if dayclose >= var1 then var63=10; if dayclose >=var2 and dayclose < var1 then var63=9; if dayclose >=var3 and dayclose < var2 then var63=8; if dayclose < var3 then var63=7; } else var63=0; } if dayclose(1) >= var2 and dayclose(1) < var1 then { // 첫번째 조건 if dayopen >= var1 then { // 두번째 조건 if dayclose >= var1 then var64=10; if dayclose >=var2 and dayclose < var1 then var64=9; if dayclose >=var3 and dayclose < var2 then var64=8; if dayclose < var3 then var64=7; } else var64=0; if dayopen < var1 and dayopen >= var2 then { if dayclose >= var1 then var65=10; if dayclose >=var2 and dayclose < var1 then var65=9; if dayclose >=var3 and dayclose < var2 then var65=8; if dayclose < var3 then var65=7; } else var65=0; if dayopen < var2 and dayopen >= var3 then { if dayclose >= var1 then var66=10; if dayclose >=var2 and dayclose < var1 then var66=9; if dayclose >=var3 and dayclose < var2 then var66=8; if dayclose < var3 then var66=7; } else var66=0; if dayopen < var3 then { if dayclose >= var1 then var67=10; if dayclose >=var2 and dayclose < var1 then var67=9; if dayclose >=var3 and dayclose < var2 then var67=8; if dayclose < var3 then var67=7; } else var67=0; } if dayclose(1) >= var3 and dayclose(1) < var2 then { // 첫번째 조건 if dayopen >= var1 then { // 두번째 조건 if dayclose >= var1 then var68=10; if dayclose >=var2 and dayclose < var1 then var68=9; if dayclose >=var3 and dayclose < var2 then var68=8; if dayclose < var3 then var68=7; } else var68=0; if dayopen < var1 and dayopen >= var2 then { if dayclose >= var1 then var69=10; if dayclose >=var2 and dayclose < var1 then var69=9; if dayclose >=var3 and dayclose < var2 then var69=8; if dayclose < var3 then var69=7; } else var65=0; if dayopen < var2 and dayopen >= var3 then { if dayclose >= var1 then var70=10; if dayclose >=var2 and dayclose < var1 then var70=9; if dayclose >=var3 and dayclose < var2 then var70=8; if dayclose < var3 then var70=7; } else var70=0; if dayopen < var3 then { if dayclose >= var1 then var71=10; if dayclose >=var2 and dayclose < var1 then var71=9; if dayclose >=var3 and dayclose < var2 then var71=8; if dayclose < var3 then var71=7; } else var71=0; } if dayclose(1) < var3 then { // 첫번째 조건 if dayopen >= var1 then { // 두번째 조건 if dayclose >= var1 then var72=10; if dayclose >=var2 and dayclose < var1 then var72=9; if dayclose >=var3 and dayclose < var2 then var72=8; if dayclose < var3 then var72=7; } else var72=0; if dayopen < var1 and dayopen >= var2 then { if dayclose >= var1 then var73=10; if dayclose >=var2 and dayclose < var1 then var73=9; if dayclose >=var3 and dayclose < var2 then var73=8; if dayclose < var3 then var73=7; } else var73=0; if dayopen < var2 and dayopen >= var3 then { if dayclose >= var1 then var74=10; if dayclose >=var2 and dayclose < var1 then var74=9; if dayclose >=var3 and dayclose < var2 then var74=8; if dayclose < var3 then var74=7; } else var74=0; if dayopen < var3 then { if dayclose >= var1 then var75=10; if dayclose >=var2 and dayclose < var1 then var75=9; if dayclose >=var3 and dayclose < var2 then var75=8; if dayclose < var3 then var75=7; } else var75=0; } 즐거운 하루되세요 > 백프로만먹자 님이 쓴 글입니다. > 제목 : 일정범위를 지표로 표현하고 싶습니다. > 질문1. 위아래 밴드가 여려가지 있을때 분봉에서 현재가가 위치하는 밴드를 표현하는 방법. 질문2. 조건을 세가지 정도 걸때 아래와 같이 하면 되는지.. (출력된 부분을 보면 이전에 할당된 부분이 0으로 돌아가질 않아서 새로이 값이 입력되기전까지 전에 할당값이 이어지는 문제가 있습니다.) 질문3. 정말 프로그램 언어에 초짜인지라 이렇게 뿐이 못만들지만 다른 세련된 방법이 있을듯 합니다. 간단히 안될까요? 질문의 요지는 조건1,조건2를 만족할때 분봉에서 종가가 어느 밴드에 위치하는지를 알고자함이고, 조건1,조건2를 만족할때 하루중 여러밴드중에 어디메 많이 분포하는지를 알고자 합니다. ----------------------------------------------------------------------------- 아래는 질문2에 대한 설명입니다. 조건1 만족하고 조건2를 만족할때 {조건3,조건4,조건5,... 등} <= 각 조건들을 숫자로 할당하고 print로 뽑아서 카운팅 할 예정입니다. 조건1_a_조건2_a_var60 // (여기서 1은 몇개, 2는 몇개, 3은 몇개)<-이건 엑셀로 조건1_a_조건2_a_var61 조건1_a_조건2_a_var61 ... ... 조건1_d_조건2_d_var99 예를들어 var1= 220; var2= 210; var3= 200; // var1,var2,var3은 수식으로 나온 결과 값이라 가정함 if dayclose(1)> var1 then { // 첫번째 조건 if dayopen > var1 then { // 두번째 조건 if dayclose>var1 then var60=10; if dayclose>var2 and dayclose<var1 then var60=9; if dayclose>var3 and dayclose<var2 then var60=8; if dayclose>var3 and dayclose<var2 then var60=7; if dayclose<var3 then var60=6; } else var60=0; } if dayopen < var1 and dayopen >var2 then { ......................} else var61=0; 같은 방식으로 var3< dayopen <var2 사이에서 var61을 var62로 표현하고 같은 방식으로 var3> dayopen 에서 var62을 var63으로 표현함.. 첫번째 조건 내용을 완성후 같은방법으로 두번째 조건을 복사해 넣기 같은 방식으로 var3< dayclose(1) <var2 사이에서 var71을 var72로 표현하고 같은 방식으로 var3> dayclose(1) 에서 var72을 var73으로 표현함..