커뮤니티

분봉에서 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자리로 중간값 표시 이상입니다. 조금 빠르지만, 즐거운 추석 명절되시기 바랍니다. 감사합니다 !!