커뮤니티

한가지 여쭤보겠습니다

프로필 이미지
yamu
2024-09-19 17:20:19
693
글번호 183534
답변완료
안녕하세요 명절 잘 보내셨는지요 한 가지 여쭤보고 싶습니다 수식에서 For cnt = Index-var1 to Index-var2 { if Var5 == 0 or (Var5 > 0 and h[cnt] > Var5) Then Var5 = h[cnt]; } 이렇게 작성한 부분과 뒤에서 마지막 문단에 If VAR5 > 0 Then { PLOT35(VAR5,"INTER TL HH",Tomato); plot35 로 연결이 되는데요 만약에 cnt = index-var1 to index-var2 가 3개 미만인 구간은 무시하고 var5 를 plot 하고 싶습니다 그리고 다른 경우로 cnt 가 3개 미만일때는 magenta 로 표현하는 방법도 알고 싶습니다 아래는 수식 전체입니다 input : n(20); 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), LD(0), LT(0), LV (0), LD1(0), LT1(0),LV1(0); var: TLH(0),TLH1(0),TLH2(0),TLH3(0),TLH4(0),TLH5(0), TLL(0),TLL1(0),TLL2(0),TLL3(0),TLL4(0),TLL5(0); if CountIf(H >= L*1.08,n) >= 2 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.13 <H and (hh != Var3 and ll != Var4) ) OR (hB > lB AND LL>H*0.70 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 { TLH1 = TLH[1]; TLH2 = TLH1[1]; TLH3 = TLH2[1]; TLH4 = TLH3[1]; TLH5= TLH4[1]; TL_SetExtRight(TLH5,False); TLH = TL_new(hd1,ht1,hv1,hd,ht,hv); TL_SetExtRight(TLH,True); IF (HV > HV1*0.9 AND HV < HV1*1.09) OR (HV1 > HV*0.9 AND HV1 <HV*1.09) TheN TL_SetColoR(TLH,LightGreen); } LD = sDatE[LB]; LT = sTimE[LB]; LV = LL; LD1 = LD[1]; LT1 = LT[1]; LV1 = LV[1]; IF LV1 > 0 TheN { TLL1 = TLL[1]; TLL2 = TLL1[1]; TLL3 = TLL2[1]; TLL4 = TLL3[1]; TLL5= TLL4[1]; TL_SetExtRighT(TLL5,FalsE); TLL= TL_NEW(LD1,LT1,LV1,LD,LT,LV); TL_SetExtRighT(TLL,TRUE); TL_SetColoR(TLL,Yellow); } 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 { TL = TL_New(sDate[lb],sTime[lb],ll,sDate[hb],sTime[hb],hh); TL_SetDrawMode(tl,1); TL_SetColoR(TL,Cyan); 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,15); Text_SetColor(tXPAA,LightGreen); } } } if lb > hb Then { TL_SetColor(TL,LIGHTReD); TL_SetStyle(tl,2); TL_SetDrawMode(tl,1); } Else { TL_SetColor(TL,LightBlue); TL_SetStyle(tl,2); } if (abs(hb-lb) <= 9) Then { TL_SetColor(tl,LightGreen); TL_SetStyle(tl,3); } If VAR5 > 0 Then { PLOT35(VAR5,"INTER TL HH",Tomato); IF CrossUP(C,Var5) Then PLOT34(C,"CROSS구간고가",CyaN); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-09-20 13:48:52

안녕하세요 예스스탁입니다. 1 봉간격이 3개 미만은 제외하고자 하시면 해당 for문을 var1과 var2의 차이가 3개 이상일때만 진행되게 하시면 됩니다. if VAR2 > 0 and var1-Var2 >= 3 Then { VAR5 = 0; For cnt = Index-var1 to Index-var2 { if Var5 == 0 or (Var5 > 0 and h[cnt] > Var5) Then Var5 = h[cnt]; } } 2 색상을 var1과 var2 차이가 3개이상이면 Tomato, 아니면 Magenta로 지정하시면 됩니다. PLOT35(VAR5,"INTER TL HH",iff(var1-var2>=3,Tomato,Magenta)); 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 한가지 여쭤보겠습니다 > 안녕하세요 명절 잘 보내셨는지요 한 가지 여쭤보고 싶습니다 수식에서 For cnt = Index-var1 to Index-var2 { if Var5 == 0 or (Var5 > 0 and h[cnt] > Var5) Then Var5 = h[cnt]; } 이렇게 작성한 부분과 뒤에서 마지막 문단에 If VAR5 > 0 Then { PLOT35(VAR5,"INTER TL HH",Tomato); plot35 로 연결이 되는데요 만약에 cnt = index-var1 to index-var2 가 3개 미만인 구간은 무시하고 var5 를 plot 하고 싶습니다 그리고 다른 경우로 cnt 가 3개 미만일때는 magenta 로 표현하는 방법도 알고 싶습니다 아래는 수식 전체입니다 input : n(20); 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), LD(0), LT(0), LV (0), LD1(0), LT1(0),LV1(0); var: TLH(0),TLH1(0),TLH2(0),TLH3(0),TLH4(0),TLH5(0), TLL(0),TLL1(0),TLL2(0),TLL3(0),TLL4(0),TLL5(0); if CountIf(H >= L*1.08,n) >= 2 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.13 <H and (hh != Var3 and ll != Var4) ) OR (hB > lB AND LL>H*0.70 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 { TLH1 = TLH[1]; TLH2 = TLH1[1]; TLH3 = TLH2[1]; TLH4 = TLH3[1]; TLH5= TLH4[1]; TL_SetExtRight(TLH5,False); TLH = TL_new(hd1,ht1,hv1,hd,ht,hv); TL_SetExtRight(TLH,True); IF (HV > HV1*0.9 AND HV < HV1*1.09) OR (HV1 > HV*0.9 AND HV1 <HV*1.09) TheN TL_SetColoR(TLH,LightGreen); } LD = sDatE[LB]; LT = sTimE[LB]; LV = LL; LD1 = LD[1]; LT1 = LT[1]; LV1 = LV[1]; IF LV1 > 0 TheN { TLL1 = TLL[1]; TLL2 = TLL1[1]; TLL3 = TLL2[1]; TLL4 = TLL3[1]; TLL5= TLL4[1]; TL_SetExtRighT(TLL5,FalsE); TLL= TL_NEW(LD1,LT1,LV1,LD,LT,LV); TL_SetExtRighT(TLL,TRUE); TL_SetColoR(TLL,Yellow); } 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 { TL = TL_New(sDate[lb],sTime[lb],ll,sDate[hb],sTime[hb],hh); TL_SetDrawMode(tl,1); TL_SetColoR(TL,Cyan); 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,15); Text_SetColor(tXPAA,LightGreen); } } } if lb > hb Then { TL_SetColor(TL,LIGHTReD); TL_SetStyle(tl,2); TL_SetDrawMode(tl,1); } Else { TL_SetColor(TL,LightBlue); TL_SetStyle(tl,2); } if (abs(hb-lb) <= 9) Then { TL_SetColor(tl,LightGreen); TL_SetStyle(tl,3); } If VAR5 > 0 Then { PLOT35(VAR5,"INTER TL HH",Tomato); IF CrossUP(C,Var5) Then PLOT34(C,"CROSS구간고가",CyaN); }