커뮤니티

특정 시간에 수평선 그리기

프로필 이미지
타잔94
2025-11-20 22:58:20
44
글번호 228285
답변완료

안녕하세요, 항상 감사합니다. 일정 시간이 되면 그 시간에 이평값을 수평으로 그렸으면 하는데. 당일만 그려지게 3개의 시간의 이평값에 수평선입니다. (그림에서는 특정시간 9시반, 10시, 11시에 위에 이평선 값의 수평선 3개(파란색선)입니다. 당일만 그려지게 하고 싶네요. 참고로 그 전날도(과거일자도) 3개씩 드려졌으면 합니다. )

image.png

지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2025-11-21 15:23:26

안녕하세요 예스스탁입니다. input : Period(20); input : ntime1(93000),ntime2(100000),ntime3(110000); var : mav(0),i(0); Array : TL1[10](0),TL2[10](0),TL3[10](0); mav = ma(C,Period); Plot1(mav,"이동평균"); if Bdate != Bdate[1] Then { For i = 9 DownTo 1 { TL1[i] = TL1[i-1]; TL2[i] = TL2[i-1]; TL3[i] = TL3[i-1]; } TL_Delete(TL1[2]); TL_Delete(TL2[2]); TL_Delete(TL3[2]); } if (sdate != sDate[1] and sTime >= ntime1) or (sdate == sDate[1] and sTime >= ntime1 and sTime[1] < ntime1) Then { var1 = mav; TL1[0] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL_SetColor(TL1[0],Blue); TL_SetSize(TL1[0],0); } Else { if sTime >= ntime1 Then { TL_SetEnd(TL1[0],NextBarSdate,NextBarStime,var1); } } if (sdate != sDate[1] and sTime >= ntime2) or (sdate == sDate[1] and sTime >= ntime2 and sTime[1] < ntime2) Then { var2 = mav; TL2[0] = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL_SetColor(TL2[0],Blue); TL_SetSize(TL2[0],0); } Else { if sTime >= ntime2 Then { TL_SetEnd(TL2[0],NextBarSdate,NextBarStime,var2); } } if (sdate != sDate[1] and sTime >= ntime3) or (sdate == sDate[1] and sTime >= ntime3 and sTime[1] < ntime3) Then { var3 = mav; TL3[0] = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3); TL_SetColor(TL3[0],Blue); TL_SetSize(TL3[0],0); } Else { if sTime >= ntime3 Then { TL_SetEnd(TL3[0],NextBarSdate,NextBarStime,var3); } } 즐거운 하루되세요
프로필 이미지

타잔94

2025-11-21 15:40:16

감사합니다. 추가 질문입니다. 현재 2일치 정도까지는 그릴 수 있는데 더 그리고자 한다면 어떤걸 추가 또는 수치를 조절하면 될지요?
프로필 이미지

예스스탁 예스스탁 답변

2025-11-21 15:45:52

안녕하세요 예스스탁입니다. 최근N일표시에 숫자로 지정하시면 됩니다. 오늘포함해서 날짜수입니다. input : Period(20),최근N일표시(2); input : ntime1(93000),ntime2(100000),ntime3(110000); var : mav(0),i(0); Array : TL1[50](0),TL2[50](0),TL3[50](0); mav = ma(C,Period); Plot1(mav,"이동평균"); if Bdate != Bdate[1] Then { For i = 49 DownTo 1 { TL1[i] = TL1[i-1]; TL2[i] = TL2[i-1]; TL3[i] = TL3[i-1]; } TL_Delete(TL1[최근N일표시]); TL_Delete(TL2[최근N일표시]); TL_Delete(TL3[최근N일표시]); } if (sdate != sDate[1] and sTime >= ntime1) or (sdate == sDate[1] and sTime >= ntime1 and sTime[1] < ntime1) Then { var1 = mav; TL1[0] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL_SetColor(TL1[0],Blue); TL_SetSize(TL1[0],0); } Else { if sTime >= ntime1 Then { TL_SetEnd(TL1[0],NextBarSdate,NextBarStime,var1); } } if (sdate != sDate[1] and sTime >= ntime2) or (sdate == sDate[1] and sTime >= ntime2 and sTime[1] < ntime2) Then { var2 = mav; TL2[0] = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL_SetColor(TL2[0],Blue); TL_SetSize(TL2[0],0); } Else { if sTime >= ntime2 Then { TL_SetEnd(TL2[0],NextBarSdate,NextBarStime,var2); } } if (sdate != sDate[1] and sTime >= ntime3) or (sdate == sDate[1] and sTime >= ntime3 and sTime[1] < ntime3) Then { var3 = mav; TL3[0] = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3); TL_SetColor(TL3[0],Blue); TL_SetSize(TL3[0],0); } Else { if sTime >= ntime3 Then { TL_SetEnd(TL3[0],NextBarSdate,NextBarStime,var3); } } 즐거운 하루되세요