커뮤니티
주석좀 달아주십시요
2015-12-30 11:30:40
120
글번호 93926
if Bdate != bdate[1] or (Bdate == Bdate[1] and stime < 150000 and TF < TF[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];//이해가 안되서요
LL[cnt] = LL[cnt-1][1];//이해가 안되서요
위에 문장 주석좀 달아주십시요 특히나 for문 밑에 부분 잘이해가 안되서 해석좀 부탁드립니다 추운날씨에 감기조심하시고 감사드립니다 꾸벅
답변 1
예스스탁 예스스탁 답변
2015-12-30 17:01:27
안녕하세요
예스스탁입니다.
TF = TimeToMinutes(stime)%30;
if Bdate != bdate[1] or (Bdate == Bdate[1] and stime < 150000 and TF < TF[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];//이해가 안되서요
LL[cnt] = LL[cnt-1][1];//이해가 안되서요
}
}
if H > HH[0] Then
HH[0] = H:
if L < LL[0] Then
LL[0] = L;
일부 내용은 설명을 위해 임의로 추가했습니다.
전반적인 내용은 사용하는 차트보다 높은 주기의
분봉의 고가와 저가를 계산하는 부분입니다.
HH와 LL은 배열변수입니다. 일반변수는 봉하나당 하나의 값만 저장하지만
배열변수는 공간을 분할해서 여러값을 저장하는 변수입니다.
해당 식에서는 [0]에는 가장최근값, [1]에는 직전 값, [2]에는 전전값순으로 저장하게 작성된 식입니다.
아래 if문은 당일봉을 특정분주기로 구분하는 내용입니다.
(위 올려드린 내용에서는 30분입니다.)
TimeToMinutes(stime)는 0시이후의 경과된 분수를 리턴해 주는 함수입니다.
이값을 원하는 분수로 나누어 나머지값을 계산해서
30분 단위의 시간이 새로 시작하는 것을 체크합니다.
if Bdate != bdate[1] or (Bdate == Bdate[1] and stime < 150000 and TF < TF[1]) Then{
HH[0] = H;
LL[0] = L;
30분 단위의 시간이 새로 시작하면
HH[0]에 현재봉 고가
LL[0]에 현재봉 저가를 저장하고
이후 다음 시간 변경까지
if H > HH[0] Then
HH[0] = H:
if L < LL[0] Then
LL[0] = L;
HH[0]에 저장된 값보다 큰 고가가 발생하면 HH[0]의 값을 현재봉 고가로 변경해주고
LL[0]에 저장된 값보다 작은 저가가 발생하면 LL[0]의 값을 현재봉 저가로 변경해주어
현재 30분 동안의 최고가와 최저가를 [0]번방에 저장합니다.
수식에서 현재30분이 아닌 직전 30분간이나 전전 30분간의 값이 필요한 경우가 있으므로
새로운 30분의 시간이 시작하면
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];//이해가 안되서요
LL[cnt] = LL[cnt-1][1];//이해가 안되서요
}
HH[0]과 LL[0]에 새로운 값을 저장해야 하므로
for문으로 값을 다음방으로 이전시키는 내용입니다.
HH값을 보시면
for문에서 cnt에 1이 저장되면
hh[1]번방에 hh[0]번방의 1봉전 값을 저장해 주고
hh[2]번방에 hh[1]번방의 1봉전 값을 저장해 주고
hh[3]번방에 hh[2]번방의 1봉전 값을 저장해 주고
hh[4]번방에 hh[3]번방의 1봉전 값을 저장해 주고
///
hh[9]번방에 hh[8]번방의 1봉전 값을 저장해 주게 해서
값을 순차적으로 다음방으로 보내 수식에서 [1]이나 [2]로 지정하면
그 이전의 값을 자동으로 가져올수 있게 작성된 식입니다.
새해 좋은일만 가득하시길 기원합니다.
> 개미왕초 님이 쓴 글입니다.
> 제목 : 주석좀 달아주십시요
> if Bdate != bdate[1] or (Bdate == Bdate[1] and stime < 150000 and TF < TF[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];//이해가 안되서요
LL[cnt] = LL[cnt-1][1];//이해가 안되서요
위에 문장 주석좀 달아주십시요 특히나 for문 밑에 부분 잘이해가 안되서 해석좀 부탁드립니다 추운날씨에 감기조심하시고 감사드립니다 꾸벅
다음글
이전글