커뮤니티
1분봉을 60분 봉으로 바꾸려고 하는 질의응답에 대한 해석부탁드려요
2019-08-22 07:36:53
182
글번호 131340
1분봉을 60분봉으로 바꾸려고 하는 질문의 대답에 아래와같은 답변을 보았는데
해석이 안되네요.. 해석 부탁드려도 될까요
실은 왜 timetomonute(stime)%atime 으로 시작하는지도 잘 모르겠네요ㅜㅜ
그 아래에 if Bdate == Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
이거의 의도도 잘 모르겠어요 ㅜㅜ해석뿐만아니라 의도도잘 모르겠네요..
도움 부탁드려요
---------------------
input : Atime(60),P(10);#60분봉의 10이동평균
var : cnt(0),sum1(0),mav1(0),TF(0);
Array : CC[100](0);
TF = TimeToMinutes(stime)%Atime;
if Bdate == Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P] > 0 then{
sum1 = 0;
for cnt = 0 to P-1{
sum1 = sum1+CC[cnt];
}
mav1 = sum1/P;
plot1(mav1);
}
답변 2
예스스탁 예스스탁 답변
2019-08-22 14:49:04
안녕하세요
예스스탁입니다.
1
TimeToMinutes은 6자리(HHMMSS)시간을
밤 0시 이후에 경과된 분으로 변경해 주는 함수입니다
09시는 540
09시30분은 570
10시는 600
10시10분은 610
와 같이 리턴됩니다.
2
TF = TimeToMinutes(stime)%Atime;
%는 왼쪽의 값을 오른쪽값으로 나눈 나머지를 취하는 연산자입니다.
13%3은 1이 리턴됩니다.(첨부그림 참고하시기 바랍니다)
예를 들어
현재시간이 09시 00분이면 TimeToMinutes(stime)은 540이고 이값을 60으로 나눈 나머지는 0
현재시간이 09시 10분이면 TimeToMinutes(stime)은 550이고 이값을 60으로 나눈 나머지는 10
현재시간이 09시 20분이면 TimeToMinutes(stime)은 560이고 이값을 60으로 나눈 나머지는 20
현재시간이 09시 30분이면 TimeToMinutes(stime)은 570이고 이값을 60으로 나눈 나머지는 30
현재시간이 09시 40분이면 TimeToMinutes(stime)은 580이고 이값을 60으로 나눈 나머지는 40
현재시간이 09시 50분이면 TimeToMinutes(stime)은 590이고 이값을 60으로 나눈 나머지는 50
현재시간이 10시 00분이면 TimeToMinutes(stime)은 600이고 이값을 60으로 나눈 나머지는 0
현재시간이 10시 10분이면 TimeToMinutes(stime)은 610이고 이값을 60으로 나눈 나머지는 10
와 같이 나머지값이 계산됩니다.
0--> 10 --> 20 --> 30 --> 40 --> 50 --> 0 --> 10...
즉 나머지 값이 증가하다가 다시 0으로 돌아오면 새로운 60분봉이 발생했다는 내용입니다.
새로운 60분봉의 시자을 체크하기 위한 내용입니다.
3
수식에 오류가 있었던 것 같습니다.
if Bdate == Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
위 부분은 아래와 같이 수정해야 맞는 내용입니다.
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
영업일이 변경된 봉이거나
영업일이 변경된 봉이 아니면 TF값이 전봉에 대비해 작아지는 것으로
새로운 60분봉이 시작을 체크하기 위함입니다.
즐거운 하루되세요
> 퀀트드래곤 님이 쓴 글입니다.
> 제목 : 1분봉을 60분 봉으로 바꾸려고 하는 질의응답에 대한 해석부탁드려요
> 1분봉을 60분봉으로 바꾸려고 하는 질문의 대답에 아래와같은 답변을 보았는데
해석이 안되네요.. 해석 부탁드려도 될까요
실은 왜 timetomonute(stime)%atime 으로 시작하는지도 잘 모르겠네요ㅜㅜ
그 아래에 if Bdate == Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
이거의 의도도 잘 모르겠어요 ㅜㅜ해석뿐만아니라 의도도잘 모르겠네요..
도움 부탁드려요
---------------------
input : Atime(60),P(10);#60분봉의 10이동평균
var : cnt(0),sum1(0),mav1(0),TF(0);
Array : CC[100](0);
TF = TimeToMinutes(stime)%Atime;
if Bdate == Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P] > 0 then{
sum1 = 0;
for cnt = 0 to P-1{
sum1 = sum1+CC[cnt];
}
mav1 = sum1/P;
plot1(mav1);
}
퀀트드래곤
2019-08-23 08:50:31
정말 친절한 설명 감사합니다.
그림까지 그려주시고..
죄송한데,
CC[cnt] = CC[cnt-1][1]; 이 부분도 이해가 되지 않아서요..
배열[n-1][n]이렇게 쓰는 용법도 이해가 잘 안가서요
왜 for문을 CC는 cnt이며, CC[cnt-1][1]을 담는건지 모르겠어요. cc[cnt-1][1] 이 부분은
이전봉의 이전봉 이라는 뜻인가요?
CC[0] = C;
if CC[P] > 0 then{
sum1 = 0;
for cnt = 0 to P-1{
sum1 = sum1+CC[cnt];
}
mav1 = sum1/P;
plot1(mav1);
이 부분도 그 의도를 이해하기 어렵네요..
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 1분봉을 60분 봉으로 바꾸려고 하는 질의응답에 대한 해석부탁드려요
> 안녕하세요
예스스탁입니다.
1
TimeToMinutes은 6자리(HHMMSS)시간을
밤 0시 이후에 경과된 분으로 변경해 주는 함수입니다
09시는 540
09시30분은 570
10시는 600
10시10분은 610
와 같이 리턴됩니다.
2
TF = TimeToMinutes(stime)%Atime;
%는 왼쪽의 값을 오른쪽값으로 나눈 나머지를 취하는 연산자입니다.
13%3은 1이 리턴됩니다.(첨부그림 참고하시기 바랍니다)
예를 들어
현재시간이 09시 00분이면 TimeToMinutes(stime)은 540이고 이값을 60으로 나눈 나머지는 0
현재시간이 09시 10분이면 TimeToMinutes(stime)은 550이고 이값을 60으로 나눈 나머지는 10
현재시간이 09시 20분이면 TimeToMinutes(stime)은 560이고 이값을 60으로 나눈 나머지는 20
현재시간이 09시 30분이면 TimeToMinutes(stime)은 570이고 이값을 60으로 나눈 나머지는 30
현재시간이 09시 40분이면 TimeToMinutes(stime)은 580이고 이값을 60으로 나눈 나머지는 40
현재시간이 09시 50분이면 TimeToMinutes(stime)은 590이고 이값을 60으로 나눈 나머지는 50
현재시간이 10시 00분이면 TimeToMinutes(stime)은 600이고 이값을 60으로 나눈 나머지는 0
현재시간이 10시 10분이면 TimeToMinutes(stime)은 610이고 이값을 60으로 나눈 나머지는 10
와 같이 나머지값이 계산됩니다.
0--> 10 --> 20 --> 30 --> 40 --> 50 --> 0 --> 10...
즉 나머지 값이 증가하다가 다시 0으로 돌아오면 새로운 60분봉이 발생했다는 내용입니다.
새로운 60분봉의 시자을 체크하기 위한 내용입니다.
3
수식에 오류가 있었던 것 같습니다.
if Bdate == Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
위 부분은 아래와 같이 수정해야 맞는 내용입니다.
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
영업일이 변경된 봉이거나
영업일이 변경된 봉이 아니면 TF값이 전봉에 대비해 작아지는 것으로
새로운 60분봉이 시작을 체크하기 위함입니다.
즐거운 하루되세요
> 퀀트드래곤 님이 쓴 글입니다.
> 제목 : 1분봉을 60분 봉으로 바꾸려고 하는 질의응답에 대한 해석부탁드려요
> 1분봉을 60분봉으로 바꾸려고 하는 질문의 대답에 아래와같은 답변을 보았는데
해석이 안되네요.. 해석 부탁드려도 될까요
실은 왜 timetomonute(stime)%atime 으로 시작하는지도 잘 모르겠네요ㅜㅜ
그 아래에 if Bdate == Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
이거의 의도도 잘 모르겠어요 ㅜㅜ해석뿐만아니라 의도도잘 모르겠네요..
도움 부탁드려요
---------------------
input : Atime(60),P(10);#60분봉의 10이동평균
var : cnt(0),sum1(0),mav1(0),TF(0);
Array : CC[100](0);
TF = TimeToMinutes(stime)%Atime;
if Bdate == Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P] > 0 then{
sum1 = 0;
for cnt = 0 to P-1{
sum1 = sum1+CC[cnt];
}
mav1 = sum1/P;
plot1(mav1);
}