커뮤니티

질문드리겠습니다

프로필 이미지
yamu
2025-01-22 11:28:13
407
글번호 187455
답변완료
지난 답변 감사드립니다 질문1) 아래 수식은 조건에 맞을때 당일에 한번만 표시하는 수식인데요, 최근 n 일만 보여지도록 할 수 있을까요? 예를들면 최근 10일치만 보여지도록 하고 그 보다 과거의 결과는 안나오도록 하고 싶습니다 추세선이 아니라 plot 으로 가능할까요 var1=ma(h,20); Plot1(var1); if Bdate != Bdate[1] Then Condition1 = False; if Condition1 == False and h>var1 Then { Condition1 = true; plot2(h); } 질문2) 아래 수식에서 if condition1==false 이후에 crossup(h,ttl[0]) crossup(h,ttl[1]) ttl[2] ....이런식으로 반복을 할때 (ttl[] 은 배열처리된 추세선입니다) 값이 많아지면 (예를들어서 crossup(h,ttl[9]) 까지 작성될때) 반복문으로 작성을 도와주셨으면 합니다 감사합니다 if Bdate != Bdate[1] Then Condition1 = False; if condition1==False and (countif(crossup(h,ttl[0]),100)>=1 and CountIf(CrossUp(h,ttl[1]),100)>=1 and countif(crossup(h,ttl[2]),100)>=1) Then { condition1=true; Find(1); } 질문3) 맨 아래 첨부된 수식에서 if h[cnt] > value1 Then { Value2 = Value2 + H[cnt]; value3 = value3 +1; } 이 부분에서 h[cnt] > value1 일때 해당하는 h[cnt] 값들만 그 봉들에다가 표시를 하고 싶습니다. 예를들어 h[2], h[4] h[5] 만 해당할때 그 봉들을 연결하는 선을 만들고 싶습니다 감사합니다 첨부수식: var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0); var: sum2(0),sumi2(0),sumaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0),bb[50](0),ttl[10](0); if h>l*1.08 Then { var1 = Index; Var2 = var1[1]; Var3= Var2[1]; sum1=0; sumi1=0; tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,0); For cnt = 1 to (var1-Var2) { sum1=sum1+h[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = value1; if value1>0 then { value2 = 0; Value3 = 0; For cnt = 1 to (var1-Var2) { if h[cnt] > value1 Then { Value2 = Value2 + H[cnt]; value3 = value3 +1; } Value4 = Value2/Value3; } } if Value4>0 then Plot12(value4,"비교",Orange,Def,1); } var12=AverageArray(aa,20); if value1>0 then Plot13(value1,"고가평균",Green,Def,1);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-01-22 13:37:31

안녕하세요 예스스탁입니다. 1 plot은 과거에 표시된것을 지울수 없습니다. 최근 n일만 표시하기 위해서는 텍스트 함수로 표시를 해야하고 현재시점 N일이상 경과하면 지우게 작성하셔야 합니다. input : n(10); var : cnt(0),dd(0); Array : tx[50](0),nd[50](0); var1 = ma(h,20); Plot1(var1); if Bdate != Bdate[1] Then { dd = dd+1; Condition1 = False; For cnt = 0 to 49 { if nd[cnt] <= dd-n Then Text_Delete(tx[cnt]); } } if Condition1 == False and h>var1 Then { Condition1 = true; For cnt = 49 DownTo 1 { tx[cnt] = tx[cnt-1]; nd[cnt] = nd[cnt-1]; } tx[0] = text_new(sDate,sTime,H,"●"); nd[0] = dd; Text_SetStyle(tx[0],2,1); Text_SetColor(tx[0],Red); } 2 var :a(0),b(0),sum(0),count(0); if Bdate != Bdate[1] Then Condition1 = False; sum = 0; for a = 0 to 9 { count = 0; for b = 0 to 99 { if h[b] > ttl[a][b] and h[b+1] < ttl[a][b+1] Then count = count+1; } if count >= 1 Then sum = sum +1; } if condition1==False and (sum == 10) Then { condition1=true; Find(1); } 3 var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0); var: sum2(0),sumi2(0),sumaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0),bb[50](0),ttl[10](0); var: x(0),y(0),z(0),x1(0),y1(0),z1(0),TL1(0); #if h>l*1.08 Then if CrossUp(c,ma(c,60)) Then { var1 = Index; Var2 = var1[1]; Var3= Var2[1]; sum1=0; sumi1=0; tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,0); for cnt = 1 to (var1-Var2) { sum1=sum1+h[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = value1; if value1>0 then { value2 = 0; Value3 = 0; z = 0; z1 = 0; For cnt = 1 to (var1-Var2) { if h[cnt] > value1 Then { Value2 = Value2 + H[cnt]; value3 = value3 +1; #직전조건 만족시 날짜,시간,가격 x1 = x; y1 = y; z1 = z; #현재조건 만족시 날짜,시간,가격 x = sDate[cnt]; y = sTime[cnt]; z = h[cnt]; if z > 0 and z1 > 0 Then { TL1 = TL_New(x1,y1,z1,x,y,z); TL_SetColor(TL1,red); } } Value4 = Value2/Value3; } } if Value4>0 then Plot12(value4,"비교",Orange,Def,1); } var12=AverageArray(aa,20); if value1>0 then Plot13(value1,"고가평균",Green,Def,1); 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문드리겠습니다 > 지난 답변 감사드립니다 질문1) 아래 수식은 조건에 맞을때 당일에 한번만 표시하는 수식인데요, 최근 n 일만 보여지도록 할 수 있을까요? 예를들면 최근 10일치만 보여지도록 하고 그 보다 과거의 결과는 안나오도록 하고 싶습니다 추세선이 아니라 plot 으로 가능할까요 var1=ma(h,20); Plot1(var1); if Bdate != Bdate[1] Then Condition1 = False; if Condition1 == False and h>var1 Then { Condition1 = true; plot2(h); } 질문2) 아래 수식에서 if condition1==false 이후에 crossup(h,ttl[0]) crossup(h,ttl[1]) ttl[2] ....이런식으로 반복을 할때 (ttl[] 은 배열처리된 추세선입니다) 값이 많아지면 (예를들어서 crossup(h,ttl[9]) 까지 작성될때) 반복문으로 작성을 도와주셨으면 합니다 감사합니다 if Bdate != Bdate[1] Then Condition1 = False; if condition1==False and (countif(crossup(h,ttl[0]),100)>=1 and CountIf(CrossUp(h,ttl[1]),100)>=1 and countif(crossup(h,ttl[2]),100)>=1) Then { condition1=true; Find(1); } 질문3) 맨 아래 첨부된 수식에서 if h[cnt] > value1 Then { Value2 = Value2 + H[cnt]; value3 = value3 +1; } 이 부분에서 h[cnt] > value1 일때 해당하는 h[cnt] 값들만 그 봉들에다가 표시를 하고 싶습니다. 예를들어 h[2], h[4] h[5] 만 해당할때 그 봉들을 연결하는 선을 만들고 싶습니다 감사합니다 첨부수식: var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0); var: sum2(0),sumi2(0),sumaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0),bb[50](0),ttl[10](0); if h>l*1.08 Then { var1 = Index; Var2 = var1[1]; Var3= Var2[1]; sum1=0; sumi1=0; tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,0); For cnt = 1 to (var1-Var2) { sum1=sum1+h[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = value1; if value1>0 then { value2 = 0; Value3 = 0; For cnt = 1 to (var1-Var2) { if h[cnt] > value1 Then { Value2 = Value2 + H[cnt]; value3 = value3 +1; } Value4 = Value2/Value3; } } if Value4>0 then Plot12(value4,"비교",Orange,Def,1); } var12=AverageArray(aa,20); if value1>0 then Plot13(value1,"고가평균",Green,Def,1);