커뮤니티
질문
2013-04-25 08:21:49
219
글번호 62476
에전에 제가 했던 질문중 오늘 읽어 보고 궁굼해서 질문드립니다.
안녕하세요
예스스탁입니다.
var : cnt(0),mindiff(0),N(0);
Array : diff[31](0);
# 현재가가 이전일 최저가 보다 크면 종가-이전일 최저가 저장
# 아니면 9999999할당
for cnt = 1 to 30 {
if C > daylow(cnt) Then
diff[cnt] = C-daylow(cnt);
Else
diff[cnt] = 9999999;
}
#diff 중 최저값 계산, N일전 저장
mindiff = 9999999;
N = -1; //--------------------------------이부분을 왜 -1 값을 넣은 거지요.
for cnt = 1 to 30 {
if diff[cnt] < mindiff Then{
mindiff = diff[cnt];
N = cnt;
}
}
plot1(daylow(N),"N일전 최저가");
#plot2(N,"N일전");
즐거운 하루되세요
> nadogaja 님이 쓴 글입니다.
> 제목 : 현재가 기준 지난 30 일 일봉저가 중 현재가와 가장 근접한 값
> 안녕하세요.. 항상 많은 도움 받고 있습니다.
선물 챠트 1 분봉 기준입니다.
1. 현재가 기준 지난 30일간(금일 제외) 동안 현재가 보다 작은 daylow 중 현재가 와 가장 가까운 값을 찾아 내는 식 부탁드림니다. .
2.for 구문을 이용해서 표현할수 있다면 좋겠습니다.
답변 1
예스스탁 예스스탁 답변
2013-04-25 11:38:13
안녕하세요
예스스탁입니다.
배열변수인 diff에 1번방부터 30번 방 사이의 값 중 최저값을 찾는데
최근 1일전부터 30일전의 일간최저가가 모두 당일 종가보다 크면
diff의 1번방부터 30번방까지 모두 값이 9999999가 됩니다.
그러면 for문에서 최저값을 가지는 봉값이 없으므로
mindiff = 9999999;
N = -1;
for cnt = 1 to 30 {
if diff[cnt] < mindiff Then{
mindiff = diff[cnt];
N = cnt;
}
}
mindiff와 N은 for문 수행전에 설정한 기초값이 리턴됩니다.
n의 기초값을 0으로 설정하면
plot1(daylow(0));이 그려지므로
값이 나올수 없는 -1값으로 설정해서
최근 30일간 최저가가 당일 종가보다 모두 크면
plot1(daylow(-1));
이 되서 값이 나오지 않게 하기 위함입니다.
즐거운 하루되세요
> nadogaja 님이 쓴 글입니다.
> 제목 : 질문
> 에전에 제가 했던 질문중 오늘 읽어 보고 궁굼해서 질문드립니다.
안녕하세요
예스스탁입니다.
var : cnt(0),mindiff(0),N(0);
Array : diff[31](0);
# 현재가가 이전일 최저가 보다 크면 종가-이전일 최저가 저장
# 아니면 9999999할당
for cnt = 1 to 30 {
if C > daylow(cnt) Then
diff[cnt] = C-daylow(cnt);
Else
diff[cnt] = 9999999;
}
#diff 중 최저값 계산, N일전 저장
mindiff = 9999999;
N = -1; //--------------------------------이부분을 왜 -1 값을 넣은 거지요.
for cnt = 1 to 30 {
if diff[cnt] < mindiff Then{
mindiff = diff[cnt];
N = cnt;
}
}
plot1(daylow(N),"N일전 최저가");
#plot2(N,"N일전");
즐거운 하루되세요
> nadogaja 님이 쓴 글입니다.
> 제목 : 현재가 기준 지난 30 일 일봉저가 중 현재가와 가장 근접한 값
> 안녕하세요.. 항상 많은 도움 받고 있습니다.
선물 챠트 1 분봉 기준입니다.
1. 현재가 기준 지난 30일간(금일 제외) 동안 현재가 보다 작은 daylow 중 현재가 와 가장 가까운 값을 찾아 내는 식 부탁드림니다. .
2.for 구문을 이용해서 표현할수 있다면 좋겠습니다.