커뮤니티
6577재질문입니다.
2007-10-08 22:21:35
955
글번호 13742
답변감사합니다.
현 수식에서 지정일을 기준으로 지정일 값이
전일보다 하락하지 않았다면 0의 값을 가지게 하려면 어떻게 해야 하나요?
다시설명드리자면, 총 N일간의 기간내에 연속하락한 일수가 아니라
지정일을 기준으로 연속하락한 일수를 구하는 수식을 나타내려합니다.
만약 지정일N에 하락하지 않는다면 CNLL(N)==0 이 됩니다.
또한 지정일N전에서 하락하지 않았다면 CNLL(N)==0이 됩니다.
==>CNLL(N)>0이려면 지정일 N일은 N일+2일보다 N일+1일에 하락하였고
N일+1일보다 N일에 하락했어야만 합니다.
예를들어
전일까지 연속으로 7일동안 하락하고 당일 하락하지 않는다면 아래의 값을 갖는
함수 입니다.
CNLL(8)=0
CNLL(7)=1
CNLL(6)=2
CNLL(5)=3
CNLL(4)=4
CNLL(3)=5
CNLL(2)=6
CNLL(1)=7
CNLL(0)=0
제가 설명을 잘못해서 번거롭게 하네요...^^;
수고하세요~~~
===================================================================
안녕하세요
예스스탁입니다.
식을 수정했습니다.
사용자함수명 : CNLL
input : N(Numeric);
var : Cnt(0), Dcnt(0);
Dcnt = 0;
for cnt = N+5 DownTo N {
if dayclose(cnt) < dayclose(cnt+1) Then
Dcnt = Dcnt+1;
Else
Dcnt = 0;
}
CNLL = Dcnt;
지정일을 기준으로 연속하락일수를 구합니다.
분봉에서 일봉의 값을 계산합니다.
최대연속하락일이 5까지로 작성되었습니다.
기간을 늘리시려면 +5를 +10등으로 설정하시면 됩니다.
for cnt = N+5 DownTo N {
N은 기준일입니다.
CNLL(0) 당일기준
CNLL(1) 전일기준
CNLL(2) 전전일기준
.
.
.
의도와 다르시면 전화 주시기 바랍니다.
02-3453-1060
즐거운 하루되세요
> CJ_MINSUNG 님이 쓴 글입니다.
> 제목 : 6577 재질문입니다.
> 안녕하세요...답변감사합니다.
그런데 제가 구하려는 식과는 내용이 상당히 다르네요....
제가 구하려는 식은 직전N일을 기준으로 연속하락일수를 구하는 식입니다.
N일간 하락일수 또는 N일간 연속하락일수가아님....
예를들어 N==0 이면 금일까지 연속으로 하락일수를 구하는것입니다.
연속으로 5일 하락하면 5
연속하락이 없으면 0
N==1이면 전일까지 연속으로 하락일수를 구함
사용자함수명 CNLL로 사용자함수로 수식 부탁드립니다.
(본함수는 분봉에서 사용할것입니다.==>분봉에서 일봉의 연속하락일수를 체크)
============================================================================
안녕하세요
예스스탁입니다.
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;
답변 1
예스스탁 예스스탁 답변
2007-10-09 08:47:15
안녕하세요
예스스탁입니다.
올려드린 수식과 문의하신 내용이 정확히
어떤 부분이 다른지 모르겠습니다.
현재식은 기준일에서 그 전 5일까지의 등락만을 감지합니다.
5일이상의 값을 원하시면
for cnt = N+5 DownTo N {
부분의 +5를 +10으로 설정하시기 바랍니다.
정확한 내용을 위해 전화주시기 바랍니다.
02-3453-1060
수식담당자를 찾아주시기 바랍니다.
즐거운 하루되세요
> CJ_MINSUNG 님이 쓴 글입니다.
> 제목 : 6577재질문입니다.
> 답변감사합니다.
현 수식에서 지정일을 기준으로 지정일 값이
전일보다 하락하지 않았다면 0의 값을 가지게 하려면 어떻게 해야 하나요?
다시설명드리자면, 총 N일간의 기간내에 연속하락한 일수가 아니라
지정일을 기준으로 연속하락한 일수를 구하는 수식을 나타내려합니다.
만약 지정일N에 하락하지 않는다면 CNLL(N)==0 이 됩니다.
또한 지정일N전에서 하락하지 않았다면 CNLL(N)==0이 됩니다.
==>CNLL(N)>0이려면 지정일 N일은 N일+2일보다 N일+1일에 하락하였고
N일+1일보다 N일에 하락했어야만 합니다.
예를들어
전일까지 연속으로 7일동안 하락하고 당일 하락하지 않는다면 아래의 값을 갖는
함수 입니다.
CNLL(8)=0
CNLL(7)=1
CNLL(6)=2
CNLL(5)=3
CNLL(4)=4
CNLL(3)=5
CNLL(2)=6
CNLL(1)=7
CNLL(0)=0
제가 설명을 잘못해서 번거롭게 하네요...^^;
수고하세요~~~
===================================================================
안녕하세요
예스스탁입니다.
식을 수정했습니다.
사용자함수명 : CNLL
input : N(Numeric);
var : Cnt(0), Dcnt(0);
Dcnt = 0;
for cnt = N+5 DownTo N {
if dayclose(cnt) < dayclose(cnt+1) Then
Dcnt = Dcnt+1;
Else
Dcnt = 0;
}
CNLL = Dcnt;
지정일을 기준으로 연속하락일수를 구합니다.
분봉에서 일봉의 값을 계산합니다.
최대연속하락일이 5까지로 작성되었습니다.
기간을 늘리시려면 +5를 +10등으로 설정하시면 됩니다.
for cnt = N+5 DownTo N {
N은 기준일입니다.
CNLL(0) 당일기준
CNLL(1) 전일기준
CNLL(2) 전전일기준
.
.
.
의도와 다르시면 전화 주시기 바랍니다.
02-3453-1060
즐거운 하루되세요
> CJ_MINSUNG 님이 쓴 글입니다.
> 제목 : 6577 재질문입니다.
> 안녕하세요...답변감사합니다.
그런데 제가 구하려는 식과는 내용이 상당히 다르네요....
제가 구하려는 식은 직전N일을 기준으로 연속하락일수를 구하는 식입니다.
N일간 하락일수 또는 N일간 연속하락일수가아님....
예를들어 N==0 이면 금일까지 연속으로 하락일수를 구하는것입니다.
연속으로 5일 하락하면 5
연속하락이 없으면 0
N==1이면 전일까지 연속으로 하락일수를 구함
사용자함수명 CNLL로 사용자함수로 수식 부탁드립니다.
(본함수는 분봉에서 사용할것입니다.==>분봉에서 일봉의 연속하락일수를 체크)
============================================================================
안녕하세요
예스스탁입니다.
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;
다음글
이전글