커뮤니티

추세선 돌파

프로필 이미지
yamu
2024-09-02 14:00:28
766
글번호 183048
답변완료

첨부 이미지

질문: 추세선 CROSSUP 조건을 만들때, 1번 추세선 우측연장선이 2번추세선이 만들어지면서 더 이상 CROSSUP 이 적용이 안되게 되는데요 혹시 다음 추세선이 발생하더라도 돌파 적용 하는게 가능할까요?? 가능하다면 다음 추세선 4개 발생할때 까지 하고 싶습니다. 많이 나온다면 봉길이 5% 이상인 봉이 돌파 하는 조건을 추가해주세요 감사합니다 input : n(10); var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TXn(0),txper(0),TXpaa(0),nline(0),tl2(0); var : txx(0),TXper1(0); var : hd(0),ht(0),hd1(0),ht1(0),hv(0),hv1(0),TLH(0); if CountIf(H >= L*1.1,n) >= 1 Then { 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; } if ll == 0 or (ll > 0 and l[cnt] < ll) Then { ll = l[cnt]; lb = cnt; } } if hB < lB AND ll *1.4 >H and (hh != Var3 and ll != Var4) Then { hd = sDate[hb]; ht = sTime[hb]; hv = hh; hd1 = hd[1]; ht1 = ht[1]; hv1 = hv[1]; if hv1 > 0 Then { TL_SetExtRight(TLH,False); TLH = TL_new(hd1,ht1,hv1,hd,ht,hv); TL_SetExtRight(TLH,true); TL_SetStylE(TLH,3); } VAR3 = hh; VAR4 = ll; VAR1 = Index[lb]; VAR2 = VAR1[1]; if VAR2 > 0 Then { VAR5 = 0; For cnt = Index-var1 to Index-var2 { if Var5 == 0 or (Var5 > 0 and h[cnt] > Var5) Then Var5 = h[cnt]; } } if var1 >= Var2 Then { #Plot2(var2); TL = TL_New(sDate[lb],sTime[lb],ll,sDate[hb],sTime[hb],hh); TL_SetDrawMode(tl,0); # TL_SetExtRight(tl,true); TXper= text_new(sDate[lb],sTime[lb],ll,"★"); Text_SetStyle(txper,2,0); Text_SetSizE(TXPER,18); Text_SetColor(txper,MagentA); TXpaa= text_new(sDate[HB],sTime[HB],HH,"★"); Text_SetStyle(TXPAA,2,0); Text_SetSizE(TXPAA,18); Text_SetColor(tXPAA,LightGreen); # Text_SetLocatioN(TXPAA /*TXper1 = text_new(sDate,sTime,ll,"★"); Text_SetStyle(txper1,2,0); Text_SetColor(txper1,Pink);*/ } if lb > hb Then { TL_SetColor(TL,Yellow); TL_SetStyle(tl,2); # TL_SetSizE(TL,1); TL_SetDrawMode(tl,1); } Else { TL_SetColor(TL,LightBlue); TL_SetStyle(tl,2); } } } If VAR5 > 0 Then plot35(VAR5,"INTER TL HH",Tomato); IF CrossUP(C,Var5) TheN PLOT34(C,"CROSS구간고가",CyaN); if TL_GetValue(TLH,sDate,stime) > 0 then { value1 = TL_GetValue(TLH,sDate,stime); if CrossUp(c,Value1) Then plot3(high,"tlcross",LightGreen); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-09-02 15:13:15

안녕하세요 예스스탁입니다. 수식 내 주석 참고하시기 바랍니다. input : n(10); var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TXn(0),txper(0),TXpaa(0),nline(0),tl2(0); var : txx(0),TXper1(0); var : hd(0),ht(0),hd1(0),ht1(0),hv(0),hv1(0),TLH(0),TLH1(0),TLH2(0),TLH3(0),TLH4(0); if CountIf(H >= L*1.1,n) >= 1 Then { 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; } if ll == 0 or (ll > 0 and l[cnt] < ll) Then { ll = l[cnt]; lb = cnt; } } if hB < lB AND ll *1.4 >H and (hh != Var3 and ll != Var4) Then { hd = sDate[hb]; ht = sTime[hb]; hv = hh; hd1 = hd[1]; ht1 = ht[1]; hv1 = hv[1]; if hv1 > 0 Then { //새로운 추세선 생선전에 //TLH의 최근 4개의 아이디 저장 TLH1 = TLH[1]; TLH2 = TLH1[1]; TLH3 = TLH2[1]; TLH4 = TLH3[1]; //이전 출력된 추세선 중 이전 4번째는 연장선 해제 TL_SetExtRight(TLH4,False); //새로 추세선 생성 TLH = TL_new(hd1,ht1,hv1,hd,ht,hv); //추세선 연장선 적용 TL_SetExtRight(TLH,true); TL_SetStylE(TLH,3); } VAR3 = hh; VAR4 = ll; VAR1 = Index[lb]; VAR2 = VAR1[1]; if VAR2 > 0 Then { VAR5 = 0; For cnt = Index-var1 to Index-var2 { if Var5 == 0 or (Var5 > 0 and h[cnt] > Var5) Then Var5 = h[cnt]; } } if var1 >= Var2 Then { #Plot2(var2); TL = TL_New(sDate[lb],sTime[lb],ll,sDate[hb],sTime[hb],hh); TL_SetDrawMode(tl,0); #TL_SetExtRight(tl,true); TXper= text_new(sDate[lb],sTime[lb],ll,"★"); Text_SetStyle(txper,2,0); Text_SetSizE(TXPER,18); Text_SetColor(txper,MagentA); TXpaa= text_new(sDate[HB],sTime[HB],HH,"★"); Text_SetStyle(TXPAA,2,0); Text_SetSizE(TXPAA,18); Text_SetColor(tXPAA,LightGreen); #Text_SetLocatioN(TXPAA /* TXper1 = text_new(sDate,sTime,ll,"★"); Text_SetStyle(txper1,2,0); Text_SetColor(txper1,Pink); */ } if lb > hb Then { TL_SetColor(TL,Yellow); TL_SetStyle(tl,2); # TL_SetSizE(TL,1); TL_SetDrawMode(tl,1); } Else { TL_SetColor(TL,LightBlue); TL_SetStyle(tl,2); } } } If VAR5 > 0 Then plot35(VAR5,"INTER TL HH",Tomato); IF CrossUP(C,Var5) TheN PLOT34(C,"CROSS구간고가",CyaN); if TL_GetValue(TLH,sDate,stime) > 0 then { value1 = TL_GetValue(TLH,sDate,stime); if CrossUp(c,Value1) Then plot1(high,"tlcross1",LightGreen); } if TL_GetValue(TLH1,sDate,stime) > 0 then { value2 = TL_GetValue(TLH,sDate,stime); if CrossUp(c,Value2) Then plot2(high,"tlcross2",LightGreen); } if TL_GetValue(TLH2,sDate,stime) > 0 then { value3 = TL_GetValue(TLH,sDate,stime); if CrossUp(c,Value3) Then plot3(high,"tlcross3",LightGreen); } if TL_GetValue(TLH3,sDate,stime) > 0 then { value4 = TL_GetValue(TLH,sDate,stime); if CrossUp(c,Value4) Then plot4(high,"tlcross4",LightGreen); } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 추세선 돌파 > 질문: 추세선 CROSSUP 조건을 만들때, 1번 추세선 우측연장선이 2번추세선이 만들어지면서 더 이상 CROSSUP 이 적용이 안되게 되는데요 혹시 다음 추세선이 발생하더라도 돌파 적용 하는게 가능할까요?? 가능하다면 다음 추세선 4개 발생할때 까지 하고 싶습니다. 많이 나온다면 봉길이 5% 이상인 봉이 돌파 하는 조건을 추가해주세요 감사합니다 input : n(10); var : cnt(0),hh(0),hb(0),ll(0),lb(0),TL(0),TXn(0),txper(0),TXpaa(0),nline(0),tl2(0); var : txx(0),TXper1(0); var : hd(0),ht(0),hd1(0),ht1(0),hv(0),hv1(0),TLH(0); if CountIf(H >= L*1.1,n) >= 1 Then { 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; } if ll == 0 or (ll > 0 and l[cnt] < ll) Then { ll = l[cnt]; lb = cnt; } } if hB < lB AND ll *1.4 >H and (hh != Var3 and ll != Var4) Then { hd = sDate[hb]; ht = sTime[hb]; hv = hh; hd1 = hd[1]; ht1 = ht[1]; hv1 = hv[1]; if hv1 > 0 Then { TL_SetExtRight(TLH,False); TLH = TL_new(hd1,ht1,hv1,hd,ht,hv); TL_SetExtRight(TLH,true); TL_SetStylE(TLH,3); } VAR3 = hh; VAR4 = ll; VAR1 = Index[lb]; VAR2 = VAR1[1]; if VAR2 > 0 Then { VAR5 = 0; For cnt = Index-var1 to Index-var2 { if Var5 == 0 or (Var5 > 0 and h[cnt] > Var5) Then Var5 = h[cnt]; } } if var1 >= Var2 Then { #Plot2(var2); TL = TL_New(sDate[lb],sTime[lb],ll,sDate[hb],sTime[hb],hh); TL_SetDrawMode(tl,0); # TL_SetExtRight(tl,true); TXper= text_new(sDate[lb],sTime[lb],ll,"★"); Text_SetStyle(txper,2,0); Text_SetSizE(TXPER,18); Text_SetColor(txper,MagentA); TXpaa= text_new(sDate[HB],sTime[HB],HH,"★"); Text_SetStyle(TXPAA,2,0); Text_SetSizE(TXPAA,18); Text_SetColor(tXPAA,LightGreen); # Text_SetLocatioN(TXPAA /*TXper1 = text_new(sDate,sTime,ll,"★"); Text_SetStyle(txper1,2,0); Text_SetColor(txper1,Pink);*/ } if lb > hb Then { TL_SetColor(TL,Yellow); TL_SetStyle(tl,2); # TL_SetSizE(TL,1); TL_SetDrawMode(tl,1); } Else { TL_SetColor(TL,LightBlue); TL_SetStyle(tl,2); } } } If VAR5 > 0 Then plot35(VAR5,"INTER TL HH",Tomato); IF CrossUP(C,Var5) TheN PLOT34(C,"CROSS구간고가",CyaN); if TL_GetValue(TLH,sDate,stime) > 0 then { value1 = TL_GetValue(TLH,sDate,stime); if CrossUp(c,Value1) Then plot3(high,"tlcross",LightGreen); }