커뮤니티
주간지표의 수정
2014-05-29 18:43:06
176
글번호 75478
아래 36455번 답변 감사드립니다.
바쁘신 중에 죄송하지만 두 가지만 여쭈어 보겠습니다.
①제가 답변의 수식을 100% 이해하지 못해서 그런는데요.
금요일이 휴일인 경우에는 월요일이 주간의 시작일이 되고
월요일도 휴일일 경우 화요일이 주간의 시작일이 되도록
미루어져야하고,
종료일도 목요일이 휴일이면 수요일이 주간의 종료일이되고
수요일도 휴일이면 화요일이 종료일이 되어야 하는데
그렇게 되는지요?
② 아래 배열함수의 [20]의 의미는 어떻게 되는지요?
=================== 36455번 답변 =====================
아래와 같이 작성하시면 됩니다.
금요일에서~다음목요일까지를 한주로 보고
주간 시고저종가를 계산하는 식입니다.
N으로 이전주를 지정할수 있게 작성해 드립니다.
N이 0이면 이번주 1이면 저번주 순입니다.
input : N(0);
var : cnt(0);
Array : OO[20](0),HH[20](0),LL[20](0),CC[20](0);
if data3((DayOfWeek(sdate) == 5 or (DayOfWeek(sdate) < DayOfWeek(sdate[1]) and DayOfWeek(sdate[1]) != 5 )) and date != date[1]) Then{
OO[0] = data3(O);
HH[0] = data3(H);
LL[0] = data3(L);
for cnt = 1 to 19{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if data3(H) > HH[0] Then
HH[0] = data3(H);
if data3(L) < LL[0] Then
LL[0] = data3(L);
CC[0] = data3(C);
plot1(OO[N],"금~목 시가");
plot2(HH[N],"금~목 고가");
plot3(LL[N],"금~목 저가");
plot4(CC[N],"금~목 종가");
답변 1
예스스탁 예스스탁 답변
2014-06-02 10:44:03
안녕하세요
예스스탁입니다.
1.
dayofweek(sdate)는 월요일 1,~~금요일 5값을 리턴합니다.
1-> 2 ->3 -> 4 -> 5
if data3((DayOfWeek(sdate) == 5 or (DayOfWeek(sdate) < DayOfWeek(sdate[1]) and DayOfWeek(sdate[1]) != 5 )) and date != date[1]) Then{
위 조건에 의해 날짜가 금요일이거나 금요일이 휴장(연휴)인 경우를 판단합니다.
(DayOfWeek(sdate) < DayOfWeek(sdate[1]) and DayOfWeek(sdate[1]) != 5 ))
전일이 5가 아니고 DayOfWeek(sdate)가 작아진 경우가
4--> 1 or 4--> 2 or 3 -> 2 등 연휴부분도 포함됩니다.
2.
과거주의 값을 각 배열에 주간값이 저장이 되는데
0주에서 최대 과거 19주 전까지 총 20주의 내용을 저장해서
과거 주간값을 저장해 사용할수 있게 만든것입니다.
차트의 데이터가 20주가 안나오면 적절한 방갯수로 줄이시고
20주보다 많으면 마찬가지로 늘리시면 됩니다.
변경하실 때 배열의 사이즈 외에
for문 최종값도 변경하셔야 합니다.
for cnt = 1 to 19{ #19를 배열사이즈에 맞게 변경
즐거운 하루되세요
> 스퍼트시커 님이 쓴 글입니다.
> 제목 : 주간지표의 수정
> 아래 36455번 답변 감사드립니다.
바쁘신 중에 죄송하지만 두 가지만 여쭈어 보겠습니다.
①제가 답변의 수식을 100% 이해하지 못해서 그런는데요.
금요일이 휴일인 경우에는 월요일이 주간의 시작일이 되고
월요일도 휴일일 경우 화요일이 주간의 시작일이 되도록
미루어져야하고,
종료일도 목요일이 휴일이면 수요일이 주간의 종료일이되고
수요일도 휴일이면 화요일이 종료일이 되어야 하는데
그렇게 되는지요?
② 아래 배열함수의 [20]의 의미는 어떻게 되는지요?
=================== 36455번 답변 =====================
아래와 같이 작성하시면 됩니다.
금요일에서~다음목요일까지를 한주로 보고
주간 시고저종가를 계산하는 식입니다.
N으로 이전주를 지정할수 있게 작성해 드립니다.
N이 0이면 이번주 1이면 저번주 순입니다.
input : N(0);
var : cnt(0);
Array : OO[20](0),HH[20](0),LL[20](0),CC[20](0);
if data3((DayOfWeek(sdate) == 5 or (DayOfWeek(sdate) < DayOfWeek(sdate[1]) and DayOfWeek(sdate[1]) != 5 )) and date != date[1]) Then{
OO[0] = data3(O);
HH[0] = data3(H);
LL[0] = data3(L);
for cnt = 1 to 19{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if data3(H) > HH[0] Then
HH[0] = data3(H);
if data3(L) < LL[0] Then
LL[0] = data3(L);
CC[0] = data3(C);
plot1(OO[N],"금~목 시가");
plot2(HH[N],"금~목 고가");
plot3(LL[N],"금~목 저가");
plot4(CC[N],"금~목 종가");
다음글