커뮤니티
분봉에서 30분단위 중간값 선
2017-09-20 09:34:29
154
글번호 112906
안녕하세요
다음 수식 부탁드립니다.
연결선물 1분봉에서
장개시후 30분의 완성봉까지 봉이 진행되면서 30분내의 최고최저 중간값이 수평선 변동
--> 이후 30분이 완성되면 30분의 중간값은 변동없이 수평선
--> 31분부터~60분까지는 다시 봉이 진행되면서 30분내의 최고최저 중간값이 수평선 변동
--> 60분이 완성되면 2개의 중간값은 변동없이 수평선
--> 이렇게 30분 단위로 최고최저의 중간값을 수평선으로 표시하고 싶습니다.
요약하면 30분단위 해당기간의 최고최저 중간값의 수평선
1) 30분은 N 변수 처리
2) 전일과 당일만 표시
3) 각 수평선 마지막에 소숫점 3자리로 중간값 표시
이상입니다.
조금 빠르지만, 즐거운 추석 명절되시기 바랍니다.
감사합니다 !!
답변 1
예스스탁 예스스탁 답변
2017-09-20 16:46:58
안녕하세요
예스스탁입니다.
input : 타주기분(30);
var : S1(0),D1(0),TM(0),TF(0),HH(0),LL(0),RR(0);
var : DD(0),TT(0),D2(0),D3(0);
var : TL(0),TX(0),cnt(0);
Array : TL1[100](0),TX1[100](0),TD1[100](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
D2 = D1[1];
D3 = D2[1];
if D3 > 0 Then {
for cnt = 1 to 99 {
if TD1[cnt] >= D3 Then{
TL_Delete(TL1[cnt]);
Text_Delete(TL1[cnt]);
}
}
}
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then{
DD = sdate;
TT = stime;
HH = H;
LL = L;
TL1[0] = TL_New(DD[1],TT[1],RR[1],sdate[1],stime[1],RR[1]);
TX1[0] = Text_New(Sdate[1],stime[1],RR[1],NumToStr(RR[1],3));
for cnt = 1 to 99{
TL1[cnt] = TL1[cnt-1][1];
TX1[cnt] = TX1[cnt-1][1];
TD1[cnt] = TD1[cnt-1][1];
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
RR = (HH+LL)/2;
TL_Delete(TL);
Text_Delete(TX);
TL = TL_New(DD,TT,RR,sdate,stime,RR);
TX = Text_New(Sdate,stime,RR,NumToStr(RR,3));
}
즐거운 명절되시기 바랍니다.
> 새로운세상 님이 쓴 글입니다.
> 제목 : 분봉에서 30분단위 중간값 선
> 안녕하세요
다음 수식 부탁드립니다.
연결선물 1분봉에서
장개시후 30분의 완성봉까지 봉이 진행되면서 30분내의 최고최저 중간값이 수평선 변동
--> 이후 30분이 완성되면 30분의 중간값은 변동없이 수평선
--> 31분부터~60분까지는 다시 봉이 진행되면서 30분내의 최고최저 중간값이 수평선 변동
--> 60분이 완성되면 2개의 중간값은 변동없이 수평선
--> 이렇게 30분 단위로 최고최저의 중간값을 수평선으로 표시하고 싶습니다.
요약하면 30분단위 해당기간의 최고최저 중간값의 수평선
1) 30분은 N 변수 처리
2) 전일과 당일만 표시
3) 각 수평선 마지막에 소숫점 3자리로 중간값 표시
이상입니다.
조금 빠르지만, 즐거운 추석 명절되시기 바랍니다.
감사합니다 !!