커뮤니티

고저가 라인

프로필 이미지
고성
2023-02-19 13:40:48
1605
글번호 166434
답변완료
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,선두께); } } 고저가를 갱신할 때만 교체하는 당일 고저가 라인을, 개별 추세선 고저가 라인으로 변경. 돌파 붕괴와 관계없이, 추세선이 전환될 때마다 모든 추세선의 상,하단에서 고저가 라인 생성해서, 하단은 다음 하단, 상단은 다음 상단 라인이 생성될 때까지 우측 수평 연장후 모두 저장하기로 변경. 고가라인, 저가라인 색상 별도. 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-02-20 11:36:42

안녕하세요. 예스스탁 입니다. 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]; 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]; 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]; 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]; 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 { hh = 0; ll = 0; } if T == 1 and date32 == sDate Then { if T == 1 and T[1] != 1 Then { 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 { 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 { 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 { 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(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,선두께); } } 고저가를 갱신할 때만 교체하는 당일 고저가 라인을, 개별 추세선 고저가 라인으로 변경. 돌파 붕괴와 관계없이, 추세선이 전환될 때마다 모든 추세선의 상,하단에서 고저가 라인 생성해서, 하단은 다음 하단, 상단은 다음 상단 라인이 생성될 때까지 우측 수평 연장후 모두 저장하기로 변경. 고가라인, 저가라인 색상 별도. 감사합니다.