커뮤니티
질문입니다.
2007-10-08 07:00:41
977
글번호 13725
#아래의 수식은 N일전까지 연속으로 하락한일수를 구하는 사용자함수입니다.
(N의 값은 0:당일까지 1:전일까지)
예를들어 전일까지 5일동안 연속으로 하락하였다면,
CNLLL(1)==5의 값이 되도록 식을 만들려고 하는데...
값이 안나오네요... 수정부탁드립니다.
input :N(numeric);
var : cnt(0),dncnt(0);
dncnt = 0;
if daylow(N) <= daylow(1+N) and daylow(1+N) <= daylow(2+N) Then
dncnt = dncnt + 1;
Else
dncnt = 0;
CNLLL = DNCNT;
답변 1
예스스탁 예스스탁 답변
2007-10-08 11:02:28
안녕하세요
예스스탁입니다.
if문만으로 구성할 경우
N일의 증감에 따라 계속적으로 if문 수식의
내용을 변경해야 하므로 for문과 같이 사용하시면 됩니다.
전일자 기준으로 5일연속 하락이면 5
4일연속 하락이면 4값을 리턴합니다.
input : N(5);
var : Cnt(0), Dcnt(0);
Dcnt = 0;
for cnt = N DownTo 1 {
if dayclose(cnt) < dayclose(cnt+1) Then
Dcnt = Dcnt+1;
Else
Dcnt = 0;
}
plot1(Dcnt);
연속하락이 아니라 N일동안 몇번에 하락이 있었는지에 대해
수식을 작성하신것이라면 아래의 식을 사용하시면 됩니다.
input : N(5);
var : Cnt(0), Dcnt(0);
Dcnt = 0;
for cnt = N DownTo 1 {
if dayclose(cnt) < dayclose(cnt+1) Then
Dcnt = Dcnt+1;
}
plot1(Dcnt);
즐거운 하루되세요
> CJ_MINSUNG 님이 쓴 글입니다.
> 제목 : 질문입니다.
> #아래의 수식은 N일전까지 연속으로 하락한일수를 구하는 사용자함수입니다.
(N의 값은 0:당일까지 1:전일까지)
예를들어 전일까지 5일동안 연속으로 하락하였다면,
CNLLL(1)==5의 값이 되도록 식을 만들려고 하는데...
값이 안나오네요... 수정부탁드립니다.
input :N(numeric);
var : cnt(0),dncnt(0);
dncnt = 0;
if daylow(N) <= daylow(1+N) and daylow(1+N) <= daylow(2+N) Then
dncnt = dncnt + 1;
Else
dncnt = 0;
CNLLL = DNCNT;
다음글
이전글