커뮤니티

고저가 라인 연장

프로필 이미지
고성
2023-02-23 22:11:07
1476
글번호 166623
답변완료

첨부 이미지

input : Period(200),선두께(1); 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]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; TL_SetEnd(TL2, date11, time11, Loval[1]); TL_SetextRight(TL2,False); } 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]; } } 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]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; TL_SetEnd(TL3, date11, time11, Hival[1]); TL_SetExtRight(TL3,False); } 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]; } } var : hh(0),ll(0); if Bdate != Bdate[1] Then { hh = 0; ll = 0; } if T == 1 and date32 == sDate Then { if T == 1 and T[1] != 1 Then { TL_Delete(TL3-5); hh = value12; TL3 = tl_new(date32,time32,value12,NextBarSdate,NextBarStime,value12); TL_SetExtRight(TL3,true); TL_SetColor(TL3,Red); TL_SetSize(TL3,선두께); } if T == T[1] and hh == 0 or (hh > 0 and value12 > hh) Then { TL_Delete(TL3-5); hh = value12; TL_SetBegin(TL3, date32, time32, Value12); TL_SetEnd(TL3, NextBarSdate, NextBarStime, Value12); TL_SetExtRight(TL3,true); TL_SetColor(TL3,Red); TL_SetSize(TL3,선두께); } } if T == -1 and date22 == sDate Then { if T == -1 and T[1] != -1 Then { TL_Delete(TL2-5); ll = value12; TL2 = tl_new(date22,time22,value12,NextBarSdate,NextBarStime,value12); TL_SetExtRight(TL2,true); TL_SetColor(TL2,Blue); TL_SetSize(TL2,선두께); } if T == T[1] and ll == 0 or (ll > 0 and value12 < ll) Then { TL_Delete(TL2-5); ll = value11; TL_SetBegin(TL2, date22, time22, Value12); TL_SetEnd(TL2, NextBarSdate, NextBarStime, Value12); TL_SetExtRight(TL2,true); TL_SetColor(TL2,Blue); TL_SetSize(TL2,선두께); } } 상승추세선 하단에서 시작된 저가라인이 그 상승추세선의 상단(= 다음 하락추세선 시작점)까지만 연장 표시되는데, 이것을 다음 하락추세선의 끝 지점(= 다음 상승추세선 시작 지점)까지 약간 더 연장 표시. 고가라인도 같은 원리로 연장. 고가라인과 저가라인이 위 아래에서 서로 겹치게 됨. 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-02-24 09:43:52

안녕하세요 예스스탁입니다. input : Period(200),선두께(1); 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]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; TL_SetEnd(TL2, date11, time11, Loval[1]); TL_SetextRight(TL2,False); } 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]; } } 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]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; TL_SetEnd(TL3, date11, time11, Hival[1]); TL_SetExtRight(TL3,False); } 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]; } } var : hh(0),ll(0); var : a1(0),a2(0); var : b1(0),b2(0); if Bdate != Bdate[1] Then { hh = 0; ll = 0; } if T == 1 and date32 == sDate Then { if T == 1 and T[1] != 1 Then { a1 = tl3[1]; a2 = TL_GetEndVal(a1); TL_SetEnd(a1,sDate,sTime,a2); TL_Delete(TL3-5); hh = value12; TL3 = tl_new(date32,time32,value12,NextBarSdate,NextBarStime,value12); TL_SetExtRight(TL3,true); TL_SetColor(TL3,Red); TL_SetSize(TL3,선두께); } if T == T[1] and (hh == 0 or (hh > 0 and value12 > hh)) Then { TL_SetEnd(a1,sDate,sTime,a2); TL_Delete(TL3-5); hh = value12; TL_SetBegin(TL3, date32, time32, Value12); TL_SetEnd(TL3, NextBarSdate, NextBarStime, Value12); TL_SetExtRight(TL3,true); TL_SetColor(TL3,Red); TL_SetSize(TL3,선두께); } } if T == -1 and date22 == sDate Then { if T == -1 and T[1] != -1 Then { b1 = tl2[1]; b2 = TL_GetEndVal(b1); TL_SetEnd(b1,sDate,sTime,b2); TL_Delete(TL2-5); ll = value12; TL2 = tl_new(date22,time22,value12,NextBarSdate,NextBarStime,value12); TL_SetExtRight(TL2,true); TL_SetColor(TL2,Blue); TL_SetSize(TL2,선두께); } if T == T[1] and (ll == 0 or (ll > 0 and value12 < ll)) Then { TL_SetEnd(b1,sDate,sTime,b2); TL_Delete(TL2-5); ll = value12; TL_SetBegin(TL2, date22, time22, Value12); TL_SetEnd(TL2, NextBarSdate, NextBarStime, Value12); TL_SetExtRight(TL2,true); TL_SetColor(TL2,Blue); TL_SetSize(TL2,선두께); } } 즐거운 하루되세요 > 고성 님이 쓴 글입니다. > 제목 : 고저가 라인 연장 > input : Period(200),선두께(1); 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]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; TL_SetEnd(TL2, date11, time11, Loval[1]); TL_SetextRight(TL2,False); } 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]; } } 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]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; TL_SetEnd(TL3, date11, time11, Hival[1]); TL_SetExtRight(TL3,False); } 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]; } } var : hh(0),ll(0); if Bdate != Bdate[1] Then { hh = 0; ll = 0; } if T == 1 and date32 == sDate Then { if T == 1 and T[1] != 1 Then { TL_Delete(TL3-5); hh = value12; TL3 = tl_new(date32,time32,value12,NextBarSdate,NextBarStime,value12); TL_SetExtRight(TL3,true); TL_SetColor(TL3,Red); TL_SetSize(TL3,선두께); } if T == T[1] and hh == 0 or (hh > 0 and value12 > hh) Then { TL_Delete(TL3-5); hh = value12; TL_SetBegin(TL3, date32, time32, Value12); TL_SetEnd(TL3, NextBarSdate, NextBarStime, Value12); TL_SetExtRight(TL3,true); TL_SetColor(TL3,Red); TL_SetSize(TL3,선두께); } } if T == -1 and date22 == sDate Then { if T == -1 and T[1] != -1 Then { TL_Delete(TL2-5); ll = value12; TL2 = tl_new(date22,time22,value12,NextBarSdate,NextBarStime,value12); TL_SetExtRight(TL2,true); TL_SetColor(TL2,Blue); TL_SetSize(TL2,선두께); } if T == T[1] and ll == 0 or (ll > 0 and value12 < ll) Then { TL_Delete(TL2-5); ll = value11; TL_SetBegin(TL2, date22, time22, Value12); TL_SetEnd(TL2, NextBarSdate, NextBarStime, Value12); TL_SetExtRight(TL2,true); TL_SetColor(TL2,Blue); TL_SetSize(TL2,선두께); } } 상승추세선 하단에서 시작된 저가라인이 그 상승추세선의 상단(= 다음 하락추세선 시작점)까지만 연장 표시되는데, 이것을 다음 하락추세선의 끝 지점(= 다음 상승추세선 시작 지점)까지 약간 더 연장 표시. 고가라인도 같은 원리로 연장. 고가라인과 저가라인이 위 아래에서 서로 겹치게 됨. 감사합니다.