커뮤니티

질문 부탁드립니다

프로필 이미지
yamu
2025-05-29 11:18:14
251
글번호 191262
답변완료
추세선과 for 문 관련해서 부탁드립니다 첨부된 식 else 문에서 h>var25 인 경우가 하나도 없을 때 (ii==0) tr[0] 추세선의 시작점, 끝점, 가격값을 기존 값에서 (기존값: sd[6],st[6],aa[6],sd[3],st[3],aa[3]) 각각 +1 씩 변경한 식을 작성했는데요, (설명을 위한 예시로 작성한것 입니다) ii==0 인 상태에서 추세선 위치를 변경했을때 ii >1 이 될때까지 시작점,시작값은 기존값 +2로, 끝점,끝값은 기존값 +1로 변경하는 수식을 작성하고자 합니다. if문의 기존 추세선 값을 바꾸면 연동돼서 바뀌게 할 수 있을까요? 범위는 뒤로 3 회 까지(즉 3번째 변경 했을때의 시작점은 +6, 끝점은 +3) 로 부탁드립니다 (3회까지 했으나 ii>1 이 아니라면 원래값을 유지) 항상 감사드립니다 var : cnt(0), sum1(0), sumi1(0),summ(0),tt(0),hh(0),ll(0),tll(0),n(0),ae(0); var: sum2(0),sumi2(0),count(0),sumaa(0),sumai(0),avgaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0),e1(0),e2(0),ii(0); Array : aa[50](0),cc[50](0),ee[50](0),txt[40](0),txt1[20](0), tr[40](0),sd[45](0),st[45](0),ad[50](0),at[50](0); if Bdate != Bdate[1] Then { DD = DD+1; } if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then { d1 = dd; hh = h; var1 = Index; Var2 = var1[1]; Var3 = Var2[1]; sum1=0; sumi1=0; sum2=0; sumi2=0; tll=TL_NEW(sDate,sTime,100,sDate,sTime,999999); TL_SetSize(tll,0); TL_SetColor(tll,Gray); For cnt = 1 to (var1-Var2) { sum1=sum1+l[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1];sd[cnt] =sd[cnt-1];st[cnt] =st[cnt-1]; txt[cnt] = txt[cnt-1]; tr[cnt]=tr[cnt-1]; } aa[0] = value1; sd[0] = sDate; st[0] = sTime; TL_SetExtRight(tr[3],False); tr[0] = TL_New(sd[6],st[6],aa[6],sd[3],st[3],aa[3]);TL_SetDrawMode(tr[0],0); TL_Delete( tr[3]); TL_SetExtRight( tr[0],true); TL_SetColor(tr[0],DarkGreen); TL_SetColor(tr[4],Green); TL_SetColor(tr[5],LightGreen);TL_SetSize( tr[0],1); ii=0; } Else { Var25=TL_GetValue(tr[0],sDate,sTime); if h>=Var25 then { ii=ii+1; #plot24(ii,"test1",Orange,Def,1); } if ii==0 Then { TL_SetBegin(tr[0],sd[7],st[7],aa[7]); TL_SetEnd(tr[0],sd[4],st[4],aa[4]); } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-05-29 13:13:38

안녕하세요 예스스탁입니다. var : cnt(0), sum1(0), sumi1(0),summ(0),tt(0),hh(0),ll(0),tll(0),n(0),ae(0); var: sum2(0),sumi2(0),count(0),sumaa(0),sumai(0),avgaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0),e1(0),e2(0),ii(0); Array : aa[50](0),cc[50](0),ee[50](0),txt[40](0),txt1[20](0), tr[40](0),sd[45](0),st[45](0),ad[50](0),at[50](0); var : a(0),b(0); if Bdate != Bdate[1] Then { DD = DD+1; } if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then { d1 = dd; hh = h; var1 = Index; Var2 = var1[1]; Var3 = Var2[1]; sum1=0; sumi1=0; sum2=0; sumi2=0; tll=TL_NEW(sDate,sTime,100,sDate,sTime,999999); TL_SetSize(tll,0); TL_SetColor(tll,Gray); For cnt = 1 to (var1-Var2) { sum1=sum1+l[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1];sd[cnt] =sd[cnt-1];st[cnt] =st[cnt-1]; txt[cnt] = txt[cnt-1]; tr[cnt]=tr[cnt-1]; } aa[0] = value1; sd[0] = sDate; st[0] = sTime; TL_SetExtRight(tr[3],False); tr[0] = TL_New(sd[6],st[6],aa[6],sd[3],st[3],aa[3]); TL_SetDrawMode(tr[0],0); TL_Delete( tr[3]); TL_SetExtRight( tr[0],true); TL_SetColor(tr[0],DarkGreen); TL_SetColor(tr[4],Green); TL_SetColor(tr[5],LightGreen);TL_SetSize( tr[0],1); ii=0; a = 6; b = 3; } Else { Var25=TL_GetValue(tr[0],sDate,sTime); if h>=Var25 then { ii=ii+1; #plot24(ii,"test1",Orange,Def,1); } if ii==0 and a < 12 Then { a = a+2; b = b+1; TL_SetBegin(tr[0],sd[a],st[a],aa[a]); TL_SetEnd(tr[0],sd[b],st[b],aa[b]); } } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문 부탁드립니다 > 추세선과 for 문 관련해서 부탁드립니다 첨부된 식 else 문에서 h>var25 인 경우가 하나도 없을 때 (ii==0) tr[0] 추세선의 시작점, 끝점, 가격값을 기존 값에서 (기존값: sd[6],st[6],aa[6],sd[3],st[3],aa[3]) 각각 +1 씩 변경한 식을 작성했는데요, (설명을 위한 예시로 작성한것 입니다) ii==0 인 상태에서 추세선 위치를 변경했을때 ii >1 이 될때까지 시작점,시작값은 기존값 +2로, 끝점,끝값은 기존값 +1로 변경하는 수식을 작성하고자 합니다. if문의 기존 추세선 값을 바꾸면 연동돼서 바뀌게 할 수 있을까요? 범위는 뒤로 3 회 까지(즉 3번째 변경 했을때의 시작점은 +6, 끝점은 +3) 로 부탁드립니다 (3회까지 했으나 ii>1 이 아니라면 원래값을 유지) 항상 감사드립니다 var : cnt(0), sum1(0), sumi1(0),summ(0),tt(0),hh(0),ll(0),tll(0),n(0),ae(0); var: sum2(0),sumi2(0),count(0),sumaa(0),sumai(0),avgaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0),e1(0),e2(0),ii(0); Array : aa[50](0),cc[50](0),ee[50](0),txt[40](0),txt1[20](0), tr[40](0),sd[45](0),st[45](0),ad[50](0),at[50](0); if Bdate != Bdate[1] Then { DD = DD+1; } if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then { d1 = dd; hh = h; var1 = Index; Var2 = var1[1]; Var3 = Var2[1]; sum1=0; sumi1=0; sum2=0; sumi2=0; tll=TL_NEW(sDate,sTime,100,sDate,sTime,999999); TL_SetSize(tll,0); TL_SetColor(tll,Gray); For cnt = 1 to (var1-Var2) { sum1=sum1+l[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1];sd[cnt] =sd[cnt-1];st[cnt] =st[cnt-1]; txt[cnt] = txt[cnt-1]; tr[cnt]=tr[cnt-1]; } aa[0] = value1; sd[0] = sDate; st[0] = sTime; TL_SetExtRight(tr[3],False); tr[0] = TL_New(sd[6],st[6],aa[6],sd[3],st[3],aa[3]);TL_SetDrawMode(tr[0],0); TL_Delete( tr[3]); TL_SetExtRight( tr[0],true); TL_SetColor(tr[0],DarkGreen); TL_SetColor(tr[4],Green); TL_SetColor(tr[5],LightGreen);TL_SetSize( tr[0],1); ii=0; } Else { Var25=TL_GetValue(tr[0],sDate,sTime); if h>=Var25 then { ii=ii+1; #plot24(ii,"test1",Orange,Def,1); } if ii==0 Then { TL_SetBegin(tr[0],sd[7],st[7],aa[7]); TL_SetEnd(tr[0],sd[4],st[4],aa[4]); } }