답변완료
박스 보관
input : Period(120),틱1(4),틱2(5);
Var:j(0),T(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),tl9(0),
date21(0),date22(0),time21(0),time22(0),txx(0), vTL(0), vTL9(0),txxx(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0),tx4(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
var : upt(0),dnt(0),box(0);
Plot1(value12);
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
}
LoVal[0] = L;
LoBar[0] = 0;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
Condition3 = False;
if Condition3 == False and Value12 <= value11-0.5 and value12 < DayHigh-0.8 Then
{
Tx4=Text_New(date11,time11,value11+PriceScale*2,"●");
Condition3 = true;
Text_SetStyle(tx4,2,2);
Text_SetColor(tx4,Black);
Text_SetSize(tx4,35);
}
Txx = Text_New(date11,time11,loval[0]-PriceScale*8,"●");
Condition99 = true;
Text_SetColor(Txx,Red);
Text_SetStyle(Txx,2,2);
Text_SetSize(txx,30);
if Condition99 == true and Loval[0] <= loval[1]-PriceScale*틱2 Then
{
Condition99 = False;
Text_Delete(txx);
PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav");
}
Text_Delete(dnt);
var1 = loval[0]-loval[1];
dnt = Text_New(date12,time12,value12,NewLine+NumToStr(abs(var1/PriceScale),0)+" ");
Text_SetColor(dnt,iff(var1>0,Red,Blue));
Text_SetStyle(dnt,1,1);
Text_SetSize(dnt,35);
Text_SetBold(dnt,1);
Box_Delete(box);
Condition88 = False;
if Condition88 ==False Then
{
if value12 <= value11-0.85 Then
{
Condition88 = true;
box = Box_New(date12,time12,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,Lime);
Box_SetFill(box,true,30);
Box_SetExtFill(box,true);
}
}
}
Else
{
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
date22 = date[0];
time22 = stime[0];
var1 = loval[0]-loval[1];
Text_SetLocation(dnt,date12,time12,value12);
Text_SetString(dnt,NewLine+NumToStr(abs(var1/PriceScale),0)+" ");
Text_SetColor(dnt,iff(var1>0,Red,Blue));
Text_SetStyle(dnt,1,1);
Text_SetSize(dnt,35);
Text_SetBold(dnt,1);
if Condition88 ==False Then
{
if value12 <= value11-0.85 Then
{
Condition88 = true;
box = Box_New(date12,time12,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,Lime);
Box_SetFill(box,true,30);
Box_SetExtFill(box,true);
}
}
}
Box_SetEnd(box,NextBarSdate,NextBarStime,L);
if Condition3 == False and Value12 <= value11-0.5 and value12 < DayHigh-0.8 Then
{
Tx4 =Text_New(date11,time11,value11+PriceScale*2,"●");
Condition3 = true;
Text_SetColor(Tx4,Black);
Text_SetStyle(tx4,2,2);
Text_SetSize(tx4,35);
}
TL_Delete(tl);
if Condition99 == true and Loval[0] <= loval[1]-PriceScale*틱2 Then
{
Condition99 = False;
Text_Delete(txx);
PlaySound("C:₩예스트레이더₩data₩Sound₩reject.wav");
}
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
if Condition3 == true Then
Text_Delete(tx4);
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
if Condition99 == true and Loval[0] >= Loval[1]-PriceScale*틱1 Then
{
Condition99 = False;
Text_Delete(txx);
}
Text_Delete(upt);
var1 = hival[0]-hival[1];
upt = Text_New(date12,time12,value12,NumToStr(abs(var1/PriceScale),0)+" "+NewLine);
Text_SetColor(upt,iff(var1>0,Red,Blue));
Text_SetStyle(upt,2,0);
Text_SetSize(upt,35);
Text_SetBold(upt,1);
Box_Delete(box);
Condition88 = False;
if Condition88 ==False Then
{
if value12 >= value11+0.85 Then
{
Condition88 = true;
box = Box_New(date12,time12,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,Magenta);
Box_SetFill(box,true,30);
Box_SetExtFill(box,true);
}
}
}
Else
{
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
date32 = date[0];
time32 = stime[0];
var1 = hival[0]-hival[1];
Text_SetLocation(upt,date12,time12,value12);
Text_SetString(upt,NumToStr(abs(var1/PriceScale),0)+" "+NewLine);
Text_SetColor(upt,iff(var1>0,Red,Blue));
Text_SetStyle(upt,2,0);
Text_SetSize(upt,35);
Text_SetBold(upt,1);
if Condition88 == False Then
{
if value12 >= value11+0.85 Then
{
Condition88 = true;
Condition88 = true;
box = Box_New(date12,time12,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,Magenta);
Box_SetFill(box,true,30);
Box_SetExtFill(box,true);
}
}
}
Box_SetEnd(box,date12,time12,Value12);
}
}
상승추세선에서 발생한 박스는 현재 수식과 같이 음전환시 삭제로 동일하고,
하락추세선에서 양전환될 때 박스 삭제하는 부분만 양전환시 삭제에서 저장으로 변경.
박스 시작점과 끝 지점(전환될 때까지만 표시)은 지금과 동일.
이후에도 상승추세선에서 생성된 박스는 음전환시 항상 삭제하고, 새로운 하락추세선에서 박스 생성되면 모두 저장. 감사합니다.
2023-02-19
1275
글번호 166439
지표
답변완료
고저가 라인
input : Period(120),선두께(2);
Var:상승색(Red), 하락색(Blue);
Var:j(0),T(0);
Var: date11(0),date12(0),time11(0),time12(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0);
var : tl(0),tl1(0),tl2(0),tl3(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
Plot1(0);
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
}
LoVal[0] = L;
LoBar[0] = 0;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,하락색);
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date22 = date[0];
time22 = stime[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,상승색);
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
}
}
TL_SetSize(TL1,선두께);
var : hh(0),ll(0);
if Bdate != Bdate[1] Then
{
TL_Delete(tl2);
TL_Delete(tL3);
hh = 0;
ll = 0;
}
if T == 1 and date32 == sDate Then
{
if hh == 0 or (hh > 0 and value12 > hh) Then
{
hh = value12;
TL_Delete(tl3);
TL3 = tl_new(date32,time32,value12,NextBarSdate,NextBarStime,value12);
TL_SetExtRight(TL3,true);
TL_SetColor(tL3,Red);
TL_SetSize(TL3,선두께);
}
}
if T == -1 and date22 == sDate Then
{
if ll == 0 or (ll > 0 and value12 < ll) Then
{
ll = value12;
TL_Delete(tl2);
TL2 = tl_new(date22,time22,value12,NextBarSdate,NextBarStime,value12);
TL_SetExtRight(TL2,true);
TL_SetColor(tL2,Blue);
TL_SetSize(TL2,선두께);
}
}
고저가를 갱신할 때만 교체하는 당일 고저가 라인을, 개별 추세선 고저가 라인으로 변경.
돌파 붕괴와 관계없이, 추세선이 전환될 때마다 모든 추세선의 상,하단에서 고저가 라인 생성해서, 하단은 다음 하단, 상단은 다음 상단 라인이 생성될 때까지 우측 수평 연장후 모두 저장하기로 변경.
고가라인, 저가라인 색상 별도. 감사합니다.
2023-02-19
1604
글번호 166434
지표
답변완료
다음내용 수정 부탁드립니다.
안녕하세요?
아래 내용에서
2일선 기준 +1.25 , +2.5와 -1.25, -2.5 라인을 추가해주시면 대단히 감사하겠습니다.
번거롭게해서 죄송하고요
늘 도와주심에 감사드립니다.
즐거운 주말 되세요.
input : 예상가(401),P1(2),P2(3),P3(5),굵기(5);
input : R1(255),G1(0),B1(0),R2(204),G2(0),B2(204),R3(102),G3(102),B3(102);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
var : TL1(0),TL2(0),TL3(0);
if Index == 0 or (sTime >= 152000 and sTime[1] < 152000) Then
{
var1 = sDate;
Var2 = stime;
}
if NextBarStime == 154500 Then
{
sum1 = 0;
sum2 = 0;
sum3 = 0;
For cnt = 0 to max(P1,P2,P3)
{
if cnt < P1 Then
{
if cnt == 0 Then
sum1 = sum1 + 예상가;
if cnt == 1 Then
sum1 = sum1 + NextBarOpen;
if cnt >= 2 Then
sum1 = sum1 + DayClose(cnt-1);
}
if cnt < P2 Then
{
if cnt == 0 Then
sum2 = sum2 + 예상가;
if cnt == 1 Then
sum2 = sum2 + NextBarOpen;
if cnt >= 2 Then
sum2 = sum2 + DayClose(cnt-1);
}
if cnt < P3 Then
{
if cnt == 0 Then
sum3 = sum3 + 예상가;
if cnt == 1 Then
sum3 = sum3 + NextBarOpen;
if cnt >= 2 Then
sum3 = sum3 + DayClose(cnt-1);
}
}
mav1 = sum1/P1;
mav2 = sum2/P2;
mav3 = sum3/P3;
if var1 > 0 and Var2 > 0 Then
{
if mav1 > 0 Then
{
TL1 = TL_New(var1,Var2,mav1,sDate,sTime,mav1);
TL_SetColor(TL1,RGB(R1,G1,B1));
TL_SetSize(TL1, 굵기);
}
if mav2 > 0 Then
{
TL2 = TL_New(var1,Var2,mav2,sDate,sTime,mav2);
TL_SetColor(TL2,RGB(R2,G2,B2));
TL_SetSize(TL2, 굵기);
}
if mav3 > 0 Then
{
TL3 = TL_New(var1,Var2,mav3,sDate,sTime,mav3);
TL_SetColor(TL3,RGB(R3,G3,B3));
TL_SetSize(TL3, 굵기);
}
}
}
Else
{
if sTime < 102000 Then
{
TL_SetBegin(TL1,var1,Var2,mav1);
TL_SetEnd(TL1,sDate,sTime,mav1);
TL_SetBegin(TL2,var1,Var2,mav2);
TL_SetEnd(TL2,sDate,sTime,mav2);
TL_SetBegin(TL3,var1,Var2,mav3);
TL_SetEnd(TL3,sDate,sTime,mav3);
}
}
2023-02-17
1177
글번호 166431
지표