예스스탁
예스스탁 답변
2024-01-02 14:50:20
안녕하세요
예스스탁입니다.
(For cnt = 0 to 49)은 별도로 수정이 필요없습니다.
기본종목과 참조종목과 동일시간의 봉이 없을 경우를 대비하기 위해
이전 출력들을 여러개 삭제하기 위함입니다.
49정도면 충분합니다.
input : N(50),N1(10),per(5);
var : TL1(0),TL2(0),cnt(0),box(0),box1(0);
var : TX1(0),TX2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0);
For cnt = 0 to 49
{
TL_Delete(TL1[cnt]);
TL_Delete(TL2[cnt]);
TL_Delete(TL3[cnt]);
TL_Delete(TL4[cnt]);
TL_Delete(TL5[cnt]);
TL_Delete(TL6[cnt]);
TL_Delete(TL7[cnt]);
Text_Delete(TX1[cnt]);
Text_Delete(TX2[cnt]);
TL_Delete(Box[cnt]);
TL_Delete(Box1[cnt]);
}
TL1 = TL_New_Self(sDate,sTime,data2(highest(H,N)),NextBarSdate,NextBarStime,data2(highest(H,N)));
TL2 = TL_New_Self(sDate,sTime,data2(lowest(L,N)),NextBarSdate,NextBarStime,data2(lowest(L,N)));
TL_SetColor(TL1,Red);
TL_SetColor(TL2,Blue);
TL_SetSize(TL1,1);
TL_SetSize(TL2,1);
TL_SetExtLeft(TL1,true);
TL_SetExtLeft(TL2,true);
TL3 = TL_New_Self(Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),-9999,Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),9999);
TL4 = TL_New_Self(Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999,Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),9999);
TL_SetColor(TL3,Pink);
TL_SetColor(TL4,Gold);
TL_SetSize(TL3,5);
TL_SetSize(TL4,2);
TL5 = TL_New(Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),-9999,Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),9999);
TL6 = TL_New(Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999,Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),9999);
TL_SetColor(TL5,Pink);
TL_SetColor(TL6,Gold);
TL_SetSize(TL5,5);
TL_SetSize(TL6,2);
TL7 = TL_New_Self(sDate,sTime,data2(lowest(L*1.05,N)),NextBarSdate,NextBarStime,data2(lowest(L*1.05,N)));
TL_SetColor(TL7,Orange);
TL_SetSize(TL7,1);
TL_SetExtLeft(TL7,true);
TX1 = Text_New_Self(Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),Data2(highest(H+PriceScale*1,N)),"■");
TX2 = Text_New_Self(Data2(sDate[NthLowestBar(1,L,N)]),Data2(stime[NthLowestBar(1,L,N)]),Data2(Lowest(L-PriceScale*1,N)),"■");
Text_SetStyle(TX1,2,1);
Text_SetStyle(TX2,2,0);
Text_SetColor(TX1,Blue);
Text_SetColor(TX2,Magenta);
Text_SetSize(tx1,40);
Text_SetSize(tx2,40);
box1 = Box_New(Data2(sDate[NthlowestBar(1,L,N)+N1]),Data2(stime[NthlowestBar(1,L,N)+N1]),9999,
Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999);
Box_SetColor(box1,Blue);
Box_SetFill(box1,true,30);
box = Box_New_Self(Data2(sDate[NthlowestBar(1,L,N)+N1]),Data2(stime[NthlowestBar(1,L,N)+N1]),9999,
Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999);
Box_SetColor(box,Blue);
Box_SetFill(box,true,25);
Plot1(Data2(c));
var : box3(0),cond(False),h2(0),l2(0);
if data2(CrossUp(L,Lowest(L,N)*(1+per/100))) Then
{
Box_Delete(box3);
cond = true;
h2 = Data2(h);
l2 = Data2(lowest(L,N)*(1+per/100));
box3 = Box_New_Self(sDate[1],sTime[1],l2,Sdate,Stime,h2);
Box_SetColor(box3,Lime);
Box_SetFill(box3,true);
}
Else
{
if cond == true Then
{
if data2(H) > h2 Then
h2 =Data2(h);
Box_SetEnd(box3,sDate,sTime,h2);
if Data2(l < lowest(L,N)*(1+per/100)) Then
Box_Delete(box3);
}
}
즐거운 하루되세요
> 고성 님이 쓴 글입니다.
> 제목 : data2 box
> input : N(50),N1(10);
var : TL1(0),TL2(0),cnt(0),box(0),box1(0);
var : TX1(0),TX2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0);
For cnt = 0 to 49
{
TL_Delete(TL1[cnt]);
TL_Delete(TL2[cnt]);
TL_Delete(TL3[cnt]);
TL_Delete(TL4[cnt]);
TL_Delete(TL5[cnt]);
TL_Delete(TL6[cnt]);
TL_Delete(TL7[cnt]);
Text_Delete(TX1[cnt]);
Text_Delete(TX2[cnt]);
TL_Delete(Box[cnt]);
TL_Delete(Box1[cnt]);
}
TL1 = TL_New_Self(sDate,sTime,data2(highest(H,N)),NextBarSdate,NextBarStime,data2(highest(H,N)));
TL2 = TL_New_Self(sDate,sTime,data2(lowest(L,N)),NextBarSdate,NextBarStime,data2(lowest(L,N)));
TL_SetColor(TL1,Red);
TL_SetColor(TL2,Blue);
TL_SetSize(TL1,1);
TL_SetSize(TL2,1);
TL_SetExtLeft(TL1,true);
TL_SetExtLeft(TL2,true);
TL3 = TL_New_Self(Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),-9999,Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),9999);
TL4 = TL_New_Self(Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999,Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),9999);
TL_SetColor(TL3,Pink);
TL_SetColor(TL4,Gold);
TL_SetSize(TL3,5);
TL_SetSize(TL4,2);
TL5 = TL_New(Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),-9999,Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),9999);
TL6 = TL_New(Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999,Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),9999);
TL_SetColor(TL5,Pink);
TL_SetColor(TL6,Gold);
TL_SetSize(TL5,5);
TL_SetSize(TL6,2);
TL7 = TL_New_Self(sDate,sTime,data2(lowest(L*1.05,N)),NextBarSdate,NextBarStime,data2(lowest(L*1.05,N)));
TL_SetColor(TL7,Orange);
TL_SetSize(TL7,1);
TL_SetExtLeft(TL7,true);
TX1 = Text_New_Self(Data2(sDate[NthHighestBar(1,H,N)]),Data2(stime[NthhighestBar(1,H,N)]),Data2(highest(H+PriceScale*1,N)),"■");
TX2 = Text_New_Self(Data2(sDate[NthLowestBar(1,L,N)]),Data2(stime[NthLowestBar(1,L,N)]),Data2(Lowest(L-PriceScale*1,N)),"■");
Text_SetStyle(TX1,2,1);
Text_SetStyle(TX2,2,0);
Text_SetColor(TX1,Blue);
Text_SetColor(TX2,Magenta);
Text_SetSize(tx1,40);
Text_SetSize(tx2,40);
box1 = Box_New(Data2(sDate[NthlowestBar(1,L,N)+N1]),Data2(stime[NthlowestBar(1,L,N)+N1]),9999,
Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999);
Box_SetColor(box1,Blue);
Box_SetFill(box1,true,30);
box = Box_New_Self(Data2(sDate[NthlowestBar(1,L,N)+N1]),Data2(stime[NthlowestBar(1,L,N)+N1]),9999,
Data2(sDate[NthlowestBar(1,L,N)]),Data2(stime[NthlowestBar(1,L,N)]),-9999);
Box_SetColor(box,Blue);
Box_SetFill(box,true,25);
Plot1(Data2(c));
data2의 최근 50봉 중에서,
최저가 라인의 +5% 선을 봉의 "저가"가 상향 돌파하면(고가,종가 아님), 최저가 봉부터(TL4) 우측 연장 박스. 현재봉의 "저가"가 +5% 라인을 하향 붕괴하면 박스 삭제.
즉 현재봉의 저가가, 50봉 중 최저가보다 5% 위에 있을 때만 박스 존재.
최저가 봉이 수시로 변하므로, 박스도 그에 따라 수시로 변경.
박스 고저는 +5% 라인과(TL7) 50봉 중 최저가 라인(TL2).
(For cnt = 0 to 49). 50봉(N)을 100봉으로 변경하면 49를 99로 바꿔야 하나요?
감사합니다.