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

답변 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);
}
}
즐거운 하루되세요
다음글
이전글