예스스탁
예스스탁 답변
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
지난번에 작성해주신 지표를 잘 사용하던중 일봉 까지였던 큰주기를
일봉/주봉/월봉 까지로 확대해서 선택할수 있게 다시 도움을 청합니다.
선택적으로 불가하면 각각 개별로 있어도 될듯합니다.
감사합니다.