커뮤니티

작은주기에 큰주기 봉을 표현하고 싶습니다.

프로필 이미지
에이텍
2023-01-04 11:57:59
791
글번호 165085
답변완료

첨부 이미지

안녕하세요. 새해 복 많이 받으세요~! ^^ 그림에서처럼 작은주기의 메인차트에 큰주기의 봉표현을 하고 싶습니다. 첨부파일은 10분봉에 60분봉을 표현하면 이렇게 되지않을가 싶어 그려본것입니다. 큰주기는 일봉까지 가능하면 좋겠습니다. 이런표현이 가능할지 잘 모르겠네요.. 가능하다면 선색과 두께는 조정가능한 변수로 부탁드립니다. 미리 감사드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-01-04 14:49:05

안녕하세요 예스스탁입니다. 랭귀지에 별도로 봉을 그려주는 함수가 없어 box함수와 추세선함수를 이용해 그려야 합니다. 해당 출력함수들이 봉기준으로 출력되고 봉과 봉사이에 출력을 할수 없어 윗꼬리와 아랫꼬리를 타주기시간에 봉이 홀수이면 관계없지만 짝수이면 봉과 봉사이에 중앙에 위치하게 표시를 할 수 없어 중앙의 한봉전에 표시가 됩니다. input : 타주기분(60); var : S1(0),D1(0),TM(0),TF(0),box(0); var : oo(0),hh(0),ll(0),TL1(0),TL2(0),clr(0),ii(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } 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 타주기분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or (Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then { oo = O; hh = H; ll = L; box = Box_New(sDate,sTime,oo,NextBarSdate,NextBarStime,c); TL1 = TL_New(sDate,sTime,max(C,oo),sDate,sTime,hh); TL2 = TL_New(sDate,sTime,min(C,oo),sDate,sTime,ll); ii = 1; } Else { ii = ii +1; if h > hh Then hh = h; if l < ll Then ll = l; var1 = Round(ii/2,0); Box_SetEnd(box,sDate,sTime,C); TL_SetBegin(TL1,sDate[var1],sTime[var1],max(c,oo)); TL_SetEnd(TL1,sDate[var1],sTime[var1],hh); TL_SetBegin(TL2,sDate[var1],sTime[var1],min(c,oo)); TL_SetEnd(TL2,sDate[var1],sTime[var1],ll); } if C > oo Then clr = Red; else if C < oo Then clr = Blue; Else clr = Green; Box_SetColor(box,clr); Box_SetSize(box,1); #Box_SetFill(box,true);//내부채움 TL_SetColor(tl1,clr); TL_SetColor(tl2,clr); TL_SetSize(TL1,1); TL_SetSize(TL2,1); } 즐거운 하루되세요 > 에이텍 님이 쓴 글입니다. > 제목 : 작은주기에 큰주기 봉을 표현하고 싶습니다. > 안녕하세요. 새해 복 많이 받으세요~! ^^ 그림에서처럼 작은주기의 메인차트에 큰주기의 봉표현을 하고 싶습니다. 첨부파일은 10분봉에 60분봉을 표현하면 이렇게 되지않을가 싶어 그려본것입니다. 큰주기는 일봉까지 가능하면 좋겠습니다. 이런표현이 가능할지 잘 모르겠네요.. 가능하다면 선색과 두께는 조정가능한 변수로 부탁드립니다. 미리 감사드립니다.