예스스탁
예스스탁 답변
2022-08-23 10:10:50
안녕하세요
예스스스탁입니다.
Input : AF(0.02), AFMAX(0.2);
Var:Direction(0),SAR_Value(Close),AF_Value(.02),HighValue(High),LowValue(Low),EP(0),CSarv(0);
if Bdate != Bdate[1] Then
{
Direction = 0;
SAR_Value = C;
AF_Value = 0.02;
HighValue = H;
LowValue = L;
EP = 0;
}
if EP != 0 Then
{
if Direction == 1 then
{
EP = HighValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close < SAR_Value then
{
Direction = -1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
LowValue = low;
}
}
else
{
EP = LowValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + Af;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close > SAR_Value then
{
Direction = 1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
HighValue = High;
}
}
CSarv = SAR_Value;
}
else
{
if SAR_Value != 0 && EP == 0 then
{
if Direction == 1 then
{
EP = HighValue;
AF_Value = AF;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
else
{
EP = LowValue;
AF_Value = Af;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
CSarv = SAR_Value;
}
else
{
if Direction == 0 then
{
if Close > Close[1] then Direction = 1;
else
if Close < Close[1] then Direction = -1;
}
else
{
if Direction == 1 then
{
if Close < Close[1] then
{
Direction = -1;
SAR_Value = HighValue;
CSarv = SAR_Value;
}
}
if Direction == -1 then
{
if Close > Close[1] then
{
Direction = 1;
SAR_Value = LowValue;
CSarv = SAR_Value;
}
}
}
LowValue = min(Low, LowValue);
HighValue = max(High, HighValue);
}
}
var : hh(0),LL(0),t(0);
var :D1(0),T1(0), TL1(0),TL2(0);
if Bdate != Bdate[1] Then
Var10 = 0;
if CrossUp(C,CSarv) Then
{
t = 1;
hh = h;
var1 = LL+0.5;
var2 = LL+1.0;
Var3 = LL+1.5;
Var4 = LL+2;
Var5 = LL+2.5;
Var6 = LL+3;
Var7 = LL+3.5;
Var8 = LL+4;
Var9 = LL+4.5;
if Var10 == 0 or (Var10 > 0 and LL < Var10) Then
{
var10 = LL;
D1 = sDate;
T1 = sTime;
TL1 = TL_New(D1,T1,Var10+0.1,NextBarSdate,NextBarStime,Var10+0.1);
TL2 = TL_New(D1,T1,var10-0.35,NextBarSdate,NextBarStime,var10-0.35);
#굵기
TL_SetSize(TL1,4);
TL_SetSize(TL2,4);
#색상
TL_SetColor(TL1,Pink);
TL_SetColor(TL2,Pink);
}
}
Else
{
if Var10 > 0 Then
{
TL_SetBegin(TL1,D1,T1,var10+0.1);
TL_SetBegin(TL2,D1,T1,Var10-0.35);
TL_SetEnd(TL1,Sdate,Stime,var10+0.1);
TL_SetEnd(TL2,Sdate,Stime,Var10-0.35);
}
}
if CrossDown(C,CSarv) Then
{
t = -1;
LL = l;
var1 = hh-0.5;
var2 = hh-1.0;
Var3 = hh-1.5;
Var4 = hh-2.0;
Var5 = hh-2.5;
Var6 = hh-3.0;
Var7 = hh-3.5;
Var8 = hh-4.0;
Var9 = hh-4.5;
}
if t == 1 Then
{
if hh > 0 and h > hh Then
hh = h;
}
if t == -1 Then
{
if LL > 0 and l < LL Then
LL = l;
}
if var1 > 0 Then
{
plot1(var1,"HL1");
plot2(var2,"HL2");
plot3(var3,"HL3");
plot4(var4,"HL4");
Plot5(Var5,"HL5");
Plot6(Var6,"HL6");
Plot7(Var7,"HL7");
Plot8(Var8,"HL8");
Plot9(Var9,"HL9");
}
즐거운 하루되세요
> 고성 님이 쓴 글입니다.
> 제목 : 파라볼릭 저가라인
> Input : AF(0.02), AFMAX(0.2);
Var:Direction(0),SAR_Value(Close),AF_Value(.02),HighValue(High),LowValue(Low),EP(0),CSarv(0);
if Bdate != Bdate[1] Then
{
Direction = 0;
SAR_Value = C;
AF_Value = 0.02;
HighValue = H;
LowValue = L;
EP = 0;
}
if EP != 0 Then
{
if Direction == 1 then
{
EP = HighValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close < SAR_Value then
{
Direction = -1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
LowValue = low;
}
}
else
{
EP = LowValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + Af;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close > SAR_Value then
{
Direction = 1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
HighValue = High;
}
}
CSarv = SAR_Value;
}
else
{
if SAR_Value != 0 && EP == 0 then
{
if Direction == 1 then
{
EP = HighValue;
AF_Value = AF;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
else
{
EP = LowValue;
AF_Value = Af;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
CSarv = SAR_Value;
}
else
{
if Direction == 0 then
{
if Close > Close[1] then Direction = 1;
else
if Close < Close[1] then Direction = -1;
}
else
{
if Direction == 1 then
{
if Close < Close[1] then
{
Direction = -1;
SAR_Value = HighValue;
CSarv = SAR_Value;
}
}
if Direction == -1 then
{
if Close > Close[1] then
{
Direction = 1;
SAR_Value = LowValue;
CSarv = SAR_Value;
}
}
}
LowValue = min(Low, LowValue);
HighValue = max(High, HighValue);
}
}
var : hh(0),LL(0),t(0);
var :D1(0),T1(0), TL1(0),TL2(0);
if Bdate != Bdate[1] Then
Var10 = 0;
if CrossUp(C,CSarv) Then
{
t = 1;
hh = h;
var1 = LL+0.5;
var2 = LL+1.0;
Var3 = LL+1.5;
Var4 = LL+2;
Var5 = LL+2.5;
Var6 = LL+3;
Var7 = LL+3.5;
Var8 = LL+4;
Var9 = LL+4.5;
if Var10 == 0 or (Var10 > 0 and LL < Var10) Then
var10 = LL;
}
if CrossDown(C,CSarv) Then
{
t = -1;
LL = l;
var1 = hh-0.5;
var2 = hh-1.0;
Var3 = hh-1.5;
Var4 = hh-2.0;
Var5 = hh-2.5;
Var6 = hh-3.0;
Var7 = hh-3.5;
Var8 = hh-4.0;
Var9 = hh-4.5;
}
if t == 1 Then
{
if hh > 0 and h > hh Then
hh = h;
}
if t == -1 Then
{
if LL > 0 and l < LL Then
LL = l;
}
if var1 > 0 Then
{
plot1(var1,"HL1");
plot2(var2,"HL2");
plot3(var3,"HL3");
plot4(var4,"HL4");
Plot5(Var5,"HL5");
Plot6(Var6,"HL6");
Plot7(Var7,"HL7");
Plot8(Var8,"HL8");
Plot9(Var9,"HL9");
}
if Var10 > 0 Then
Plot10(Var10+0.1,"l+0.1");
Else
NoPlot(10);
if Var10 > 0 Then
Plot11(Var10-0.35,"l-0.35");
Else
NoPlot(11);
if Bdate != Bdate[1] Then
{
D1 = sDate;
T1 = sTime;
TL1 = TL_New(D1,T1,Var10+0.1,NextBarSdate,NextBarStime,Var10+0.1);
TL2 = TL_New(D1,T1,var10-0.35,NextBarSdate,NextBarStime,var10-0.35);
#굵기
TL_SetSize(TL1,4);
TL_SetSize(TL2,4);
#색상
TL_SetColor(TL1,Pink);
TL_SetColor(TL2,Pink);
}
Else
{
TL_SetBegin(TL1,D1,T1,var10+0.1);
TL_SetBegin(TL2,D1,T1,Var10-0.35);
TL_SetEnd(TL1,Sdate,Stime,var10+0.1);
TL_SetEnd(TL2,Sdate,Stime,Var10-0.35);
}
파라볼릭 기준 변형 저가라인만 특히 굵게 보고싶은데,plot으로 굵게 하면 봉이 선에 가려 잘 안보입니다.
다른 수식을 보니까 TL을 이용해서 pink 색을 쓰면, 이 pink 색만 봉이나 다른 표시를 안가리고 잘 보여서 수식을 수정해 보았는데, 변하는 저가라인을 그때 그때 못 보이고 최저점을 기준으로 평행선만 출력이 됩니다.
plot10과 plot11을 없애고,대신 TL 식을 이용해서 저가라인을 볼수 있게 수정 부탁드립니다.