커뮤니티

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

프로필 이미지
에이텍
2023-04-05 14:54:43
1323
글번호 167934
답변완료

첨부 이미지

안녕하세요. 항상 이곳에서 도움을 많이 받습니다. 감사합니다. 지난번 요청글입니다. https://www.yesstock.com/Board/View.asp?db=board100036&Ext=0&startpage=1&pageno=1&num=165863&ref=165863&Sort=&KeyField=NickName&KeyWord=%BF%A1%C0%CC%C5%D8 지난번에 작성해주신 지표를 잘 사용하던중 일봉 까지였던 큰주기를 일봉/주봉/월봉 까지로 확대해서 선택할수 있게 다시 도움을 청합니다. 선택적으로 불가하면 각각 개별로 있어도 될듯합니다. 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-04-05 17:04:12

안녕하세요 예스스탁입니다. 타주기 변수하나로 처리되게 작성해 드립니다. 타주기값을 1이상을 지정하시면 기존과 같이 특정분봉 기준입니다. 0은 일봉, -1은 주봉, -2는 월봉, -3은 연봉입니다. 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 타주기 > 0 Then { 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); } } Else { if 타주기 == 0 Then { if Bdate != Bdate[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); } if 타주기 == -1 Then { if DayOfWeek(Bdate) < DayOfWeek(Bdate[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); } if 타주기 == -2 Then { if Bdate > Bdate[1]+30 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); } if 타주기 == -3 Then { if Bdate > Bdate[1]+1000 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); } } 즐거운 하루되세요 > 에이텍 님이 쓴 글입니다. > 제목 : 작은주기에 큰주기 봉을 표현하고 싶습니다. 2 > 안녕하세요. 항상 이곳에서 도움을 많이 받습니다. 감사합니다. 지난번 요청글입니다. https://www.yesstock.com/Board/View.asp?db=board100036&Ext=0&startpage=1&pageno=1&num=165863&ref=165863&Sort=&KeyField=NickName&KeyWord=%BF%A1%C0%CC%C5%D8 지난번에 작성해주신 지표를 잘 사용하던중 일봉 까지였던 큰주기를 일봉/주봉/월봉 까지로 확대해서 선택할수 있게 다시 도움을 청합니다. 선택적으로 불가하면 각각 개별로 있어도 될듯합니다. 감사합니다.