커뮤니티

파라볼릭 저가라인

프로필 이미지
고성
2022-08-22 16:33:29
1065
글번호 161670
답변완료
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 식을 이용해서 저가라인을 볼수 있게 수정 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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 식을 이용해서 저가라인을 볼수 있게 수정 부탁드립니다.