커뮤니티

추세선 crossup

프로필 이미지
yamu
2024-08-26 08:08:59
755
글번호 182818
답변완료

첨부 이미지

전에 문의했던 추세선 돌파가 잘 안나와서 재질문 드립니다 추세선 연장을 한 상태이면 추세선의 시작점, 끝점을 이은 선만이 아닌 연장된 선까지 해당되는게 아닌가요? 제가 이해를 제대로 못한건지 뜻하는대로 잘 안나와서 여쭤봅니다 스샷을 첨부했고 수식은 아래와 같습니다 스샷을 보시면 2번째 추세선을 가장 긴 장대양봉의 종가가 돌파를 한 상태인데 표시가 안나오네요. 전 봉의 종가는 추세선 아래에 있었고요. 그럼 돌파의 의미가 맞지 않나요?~ crossup(c,value1) 대신에 if c>value1 and c[1]<value1 then 으로도 해봤는데 안나오네요 ㅠㅠ... 일전에 plot 으로 표현했다가 점그래프가 너무 작게 나와서 텍스트로 다시 수정해주셨는데 (txx 부분) 한번 검토 해주셨으면 감사하겠습니다 +추가로 하나 부탁드려도 될까요 두개의 상향 추세선 (lb > hb) 의 시작점 사이가 n봉 (10봉 이상일때) 고점 갱신 라인을, 하향 추세선 (lb < hb) 의 시작점 사이가 20봉 이상일때 고점 라인을 나타내는것도 가능할까요? 감사합니다 var : n(18); var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0),tx1(0),TL1(0),tl2(0); if CountIf(H >= L*1.11,n) >= 1 Then { #"최근봉"만 표시되게 하기위해 "직전에서 출력된 추세선과 텍스트는 삭제" #n개봉 최고가와 최고가위치(몇봉전인지) 계산 #n개봉 최저가와 최저가위치(몇봉전인지) 계산 hh = 0; hb = 0; ll = 0; lb = 0; For cnt = 0 to n-1 { if hh == 0 or (hh > 0 and h[cnt] > hh) Then { hh = h[cnt]; hb = cnt; } // plot1(hh); if ll == 0 or (ll > 0 and l[cnt] < ll) Then { ll = l[cnt]; lb = cnt; } // Plot4(ll,"ll",LightGreen); // TL2 = TL_New(sDate[n-1],sTime[n-1],hh,sDate[0],sTime[0],hh); // TL_SetColor(tl2,Yellow); } if (lb > hb and hh >= ll*1.24) or (lb < hb and ll <= hh*0.80) Then { // TL_Delete(TL); // Text_Delete(TX); //TL_Delete(TL1); if (hb < lb and abs(hb-lb) <= 18) or (hb > lb and abs(hb-lb) <= 9) Then { #상향,하향 일때 봉갯수 조건 TL = TL_New(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll); TL_SetDrawMode(tl,0); TL_SetExtRight(tl,true); #20개봉 수평선 TL1 = TL_New(sDate[n-1],sTime[n-1],hh,sDate[0],sTime[0],hh); TL_SetDrawMode(tl1,0); TL_SetColor(tl1,Tomato); TL_SetSize(tl1,0); #최고가가 더 가까우면 빨강 아니면 파랑 if lb > hb Then { TL_SetColor(TL,Pink); TL_SetStyle(tl,2); } Else { TL_SetColor(TL,LightBlue); TL_SetStyle(tl,2); } #최고가 이후 최저가 발생했고 5봉이내 #등락률 if (hb > lb and abs(hb-lb) <= 5) Then { TL_SetColor(tl,Yellow); TX1 = text_new(sDate,sTime,LL,NumToStr((ll-hh)/hh*100,0)); Text_SetStyle(tx1,2,0); } //TL_Delete(TL1); // TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetendVal(TL),NumToStr(abs(hb-lb),0)); Text_SetSize(tx,12); } } } var : txx(0); #돌파 텍스트 표시 if TL_GetValue(TL,sDate,stime) > 0 then { value1 = TL_GetValue(TL,sDate,stime); if crossup(c,value1) Then { txx = Text_New(sDate,sTime,L,"●"); Text_SetColor(txx,LightGreen); Text_SetSize(txx,15); Text_SetStyle(txx,2,0); } } #추세선값 상향돌파 /* if TL_GetValue(TL,sDate,stime) > 0 then { value1 = TL_GetValue(TL,sDate,stime); if CrossUp(l,Value1) Then plot3(high,"tlcross",LightGreen); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-08-27 14:49:16

안녕하세요 예스스탁입니다. 1 crossup(C,value1)은 풀어서 작성하면 C > value1 and C[1] <= value1입니다. 현재봉에서는 value1보다 커야 하는데 현재봉에서 값이 value1하고 같습니다. if crossup(c,value1) Then 대신에 아래와 같이 변경하시면 됩니다. if C >= value1 and C[1] < value1 Then 2 var : n(18); var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0),tx1(0),TL1(0),tl2(0); if CountIf(H >= L*1.11,n) >= 1 Then { #"최근봉"만 표시되게 하기위해 "직전에서 출력된 추세선과 텍스트는 삭제" #n개봉 최고가와 최고가위치(몇봉전인지) 계산 #n개봉 최저가와 최저가위치(몇봉전인지) 계산 hh = 0; hb = 0; ll = 0; lb = 0; For cnt = 0 to n-1 { if hh == 0 or (hh > 0 and h[cnt] > hh) Then { hh = h[cnt]; hb = cnt; } // plot1(hh); if ll == 0 or (ll > 0 and l[cnt] < ll) Then { ll = l[cnt]; lb = cnt; } // Plot4(ll,"ll",LightGreen); // TL2 = TL_New(sDate[n-1],sTime[n-1],hh,sDate[0],sTime[0],hh); // TL_SetColor(tl2,Yellow); } if (lb > hb and hh >= ll*1.24) or (lb < hb and ll <= hh*0.80) Then { // TL_Delete(TL); // Text_Delete(TX); //TL_Delete(TL1); if (hb < lb and abs(hb-lb) >= 10) or (hb > lb and abs(hb-lb) >= 20) Then { #상향,하향 일때 봉갯수 조건 TL = TL_New(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll); TL_SetDrawMode(tl,0); TL_SetExtRight(tl,true); #20개봉 수평선 TL1 = TL_New(sDate[n-1],sTime[n-1],hh,sDate[0],sTime[0],hh); TL_SetDrawMode(tl1,0); TL_SetColor(tl1,Tomato); TL_SetSize(tl1,0); #최고가가 더 가까우면 빨강 아니면 파랑 if lb > hb Then { TL_SetColor(TL,Pink); TL_SetStyle(tl,2); } Else { TL_SetColor(TL,LightBlue); TL_SetStyle(tl,2); } #최고가 이후 최저가 발생했고 5봉이내 #등락률 if (hb > lb and abs(hb-lb) <= 5) Then { TL_SetColor(tl,Yellow); TX1 = text_new(sDate,sTime,LL,NumToStr((ll-hh)/hh*100,0)); Text_SetStyle(tx1,2,0); } //TL_Delete(TL1); // TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetendVal(TL),NumToStr(abs(hb-lb),0)); Text_SetSize(tx,12); } } } var : txx(0); #돌파 텍스트 표시 if TL_GetValue(TL,sDate,stime) > 0 then { value1 = TL_GetValue(TL,sDate,stime); if C >= value1 and C[1] < value1 Then# crossup(c,value1) Then { txx = Text_New(sDate,sTime,L,"●"); Text_SetColor(txx,LightGreen); Text_SetSize(txx,15); Text_SetStyle(txx,2,0); } } #추세선값 상향돌파 /* if TL_GetValue(TL,sDate,stime) > 0 then { value1 = TL_GetValue(TL,sDate,stime); if CrossUp(l,Value1) Then plot3(high,"tlcross",LightGreen); } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 추세선 crossup > 전에 문의했던 추세선 돌파가 잘 안나와서 재질문 드립니다 추세선 연장을 한 상태이면 추세선의 시작점, 끝점을 이은 선만이 아닌 연장된 선까지 해당되는게 아닌가요? 제가 이해를 제대로 못한건지 뜻하는대로 잘 안나와서 여쭤봅니다 스샷을 첨부했고 수식은 아래와 같습니다 스샷을 보시면 2번째 추세선을 가장 긴 장대양봉의 종가가 돌파를 한 상태인데 표시가 안나오네요. 전 봉의 종가는 추세선 아래에 있었고요. 그럼 돌파의 의미가 맞지 않나요?~ crossup(c,value1) 대신에 if c>value1 and c[1]<value1 then 으로도 해봤는데 안나오네요 ㅠㅠ... 일전에 plot 으로 표현했다가 점그래프가 너무 작게 나와서 텍스트로 다시 수정해주셨는데 (txx 부분) 한번 검토 해주셨으면 감사하겠습니다 +추가로 하나 부탁드려도 될까요 두개의 상향 추세선 (lb > hb) 의 시작점 사이가 n봉 (10봉 이상일때) 고점 갱신 라인을, 하향 추세선 (lb < hb) 의 시작점 사이가 20봉 이상일때 고점 라인을 나타내는것도 가능할까요? 감사합니다 var : n(18); var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TX(0),tx1(0),TL1(0),tl2(0); if CountIf(H >= L*1.11,n) >= 1 Then { #"최근봉"만 표시되게 하기위해 "직전에서 출력된 추세선과 텍스트는 삭제" #n개봉 최고가와 최고가위치(몇봉전인지) 계산 #n개봉 최저가와 최저가위치(몇봉전인지) 계산 hh = 0; hb = 0; ll = 0; lb = 0; For cnt = 0 to n-1 { if hh == 0 or (hh > 0 and h[cnt] > hh) Then { hh = h[cnt]; hb = cnt; } // plot1(hh); if ll == 0 or (ll > 0 and l[cnt] < ll) Then { ll = l[cnt]; lb = cnt; } // Plot4(ll,"ll",LightGreen); // TL2 = TL_New(sDate[n-1],sTime[n-1],hh,sDate[0],sTime[0],hh); // TL_SetColor(tl2,Yellow); } if (lb > hb and hh >= ll*1.24) or (lb < hb and ll <= hh*0.80) Then { // TL_Delete(TL); // Text_Delete(TX); //TL_Delete(TL1); if (hb < lb and abs(hb-lb) <= 18) or (hb > lb and abs(hb-lb) <= 9) Then { #상향,하향 일때 봉갯수 조건 TL = TL_New(sDate[hb],sTime[hb],hh,sDate[lb],sTime[lb],ll); TL_SetDrawMode(tl,0); TL_SetExtRight(tl,true); #20개봉 수평선 TL1 = TL_New(sDate[n-1],sTime[n-1],hh,sDate[0],sTime[0],hh); TL_SetDrawMode(tl1,0); TL_SetColor(tl1,Tomato); TL_SetSize(tl1,0); #최고가가 더 가까우면 빨강 아니면 파랑 if lb > hb Then { TL_SetColor(TL,Pink); TL_SetStyle(tl,2); } Else { TL_SetColor(TL,LightBlue); TL_SetStyle(tl,2); } #최고가 이후 최저가 발생했고 5봉이내 #등락률 if (hb > lb and abs(hb-lb) <= 5) Then { TL_SetColor(tl,Yellow); TX1 = text_new(sDate,sTime,LL,NumToStr((ll-hh)/hh*100,0)); Text_SetStyle(tx1,2,0); } //TL_Delete(TL1); // TX = Text_New(TL_GetEndDate(TL),TL_GetEndTime(TL),TL_GetendVal(TL),NumToStr(abs(hb-lb),0)); Text_SetSize(tx,12); } } } var : txx(0); #돌파 텍스트 표시 if TL_GetValue(TL,sDate,stime) > 0 then { value1 = TL_GetValue(TL,sDate,stime); if crossup(c,value1) Then { txx = Text_New(sDate,sTime,L,"●"); Text_SetColor(txx,LightGreen); Text_SetSize(txx,15); Text_SetStyle(txx,2,0); } } #추세선값 상향돌파 /* if TL_GetValue(TL,sDate,stime) > 0 then { value1 = TL_GetValue(TL,sDate,stime); if CrossUp(l,Value1) Then plot3(high,"tlcross",LightGreen); }