커뮤니티

수식첨가부탁드립니다

프로필 이미지
회원
2018-05-16 18:42:37
153
글번호 118963
답변완료
#,아래수식에서 파동의 1/2일선을 우측 그리기수식을 추가 삽입하려고, var;TL2 추가하고 TL2 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2); 수식을 추가하니까 배열요소값이 와야한다는 오류가 뜨내요.. 도움부탁드립니다. #,제가 원하는식은 현재 수식 조건에다가 파동의 중심값을 추가로 오른쪽 그리기로 하는 식입니다. Input : af(0.02), maxAF(0.2),n(5); var : T(0),TL1(0),cnt(0); Array : HH[10](0),HD[10](0),HT[10](0); Array : LL[10](0),LD[10](0),LT[10](0); Array : upv[10](0),dnv[10](0); var1 = CSar(af,maxAF); if crossup(c,var1) Then { T = 1; HD[0] = sdate; HT[0] = stime; HH[0] = H; for cnt = 1 to 9 { HD[cnt] = HD[cnt-1][1]; HT[cnt] = HT[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; TL_Delete(upv[cnt]); if HH[cnt] > 0 and cnt < N Then { upv[cnt] = TL_New(HD[cnt],HT[cnt],HH[cnt],sdate,stime,HH[cnt]); TL_SetExtRight(upv[cnt],true); TL_SetColor(tl1,GRAY); TL_SetColor(upv[cnt],RED); TL_SetStyle(upv[cnt],3); } } if LL[0] > 0 Then { TL1 = TL_new(LD[0],LT[0],LL[0],HD[0],HT[0],HH[0]); } TL_Delete(upv[0]); upv[0] = TL_New(sdate[1],stime[1],HH[0],HD[0],HT[0],HH[0]); TL_SetExtRight(upv[0],true); } if CrossDown(c,var1) Then { T = -1; LD[0] = sdate; LT[0] = stime; LL[0] = L; for cnt = 1 to 9 { LD[cnt] = LD[cnt-1][1]; LT[cnt] = LT[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; TL_Delete(dnv[cnt]); if LL[cnt] > 0 and cnt < N Then { dnv[cnt] = TL_New(LD[cnt],LT[cnt],LL[cnt],sdate,stime,LL[cnt]); TL_SetExtRight(dnv[cnt],true); TL_SetColor(tl1,GRAY); TL_SetColor(dnv[cnt],BLACK); TL_SetStyle(dnv[cnt],3); } } if HH[0] > 0 Then { TL1 = TL_new(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]); } TL_Delete(dnv[0]); dnv[0] = TL_New(sdate[1],stime[1],LL[0],LD[0],LT[0],LL[0]); TL_SetExtRight(dnv[0],true); } if T == 1 then { if H > HH[0] Then { HH[0] = H; HD[0] = sdate; HT[0] = stime; TL_SetEnd(TL1,HD[0],HT[0],HH[0]); } TL_Delete(upv[0]); upv[0] = TL_New(HD[0],HT[0],HH[0],sdate,stime,HH[0]); TL_SetExtRight(upv[0],true); TL_SetColor(tl1,YELLOW); TL_SetColor(upv[0],MAGENTA); } if T == -1 then { if L < LL[0] Then { LL[0] = L; LD[0] = sdate; LT[0] = stime; TL_SetEnd(TL1,LD[0],LT[0],LL[0]); } TL_Delete(dnv[0]); dnv[0] = TL_New(LD[0],LT[0],LL[0],sdate,stime,LL[0]); TL_SetExtRight(dnv[0],true); TL_SetColor(tl1,CYAN); TL_SetColor(dnv[0],BLUE); } $$$,언제나 늘 고맙습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-17 14:17:21

안녕하세요 예스스탁입니다. LL이 배열변순입니다. 배열변수는 항상 LL[0],LL[1]과 같이 배열의 방번호를 지정해 주셔야 합니다. 일반변수만 [0]을 생략할수 있습니다. Input : af(0.02), maxAF(0.2),n(5); var : T(0),TL1(0),cnt(0),TL2(0); Array : HH[10](0),HD[10](0),HT[10](0); Array : LL[10](0),LD[10](0),LT[10](0); Array : upv[10](0),dnv[10](0); var1 = CSar(af,maxAF); if crossup(c,var1) Then { T = 1; HD[0] = sdate; HT[0] = stime; HH[0] = H; for cnt = 1 to 9 { HD[cnt] = HD[cnt-1][1]; HT[cnt] = HT[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; TL_Delete(upv[cnt]); if HH[cnt] > 0 and cnt < N Then { upv[cnt] = TL_New(HD[cnt],HT[cnt],HH[cnt],sdate,stime,HH[cnt]); TL_SetExtRight(upv[cnt],true); TL_SetColor(tl1,GRAY); TL_SetColor(upv[cnt],RED); TL_SetStyle(upv[cnt],3); } } if LL[0] > 0 Then { TL1 = TL_new(LD[0],LT[0],LL[0],HD[0],HT[0],HH[0]); TL2 = TL_new(LD[0],LT[0],(HH[0]+LL[0])/2,HD[0],HT[0],(HH[0]+LL[0])/2); } TL_Delete(upv[0]); upv[0] = TL_New(sdate[1],stime[1],HH[0],HD[0],HT[0],HH[0]); TL_SetExtRight(upv[0],true); } if CrossDown(c,var1) Then { T = -1; LD[0] = sdate; LT[0] = stime; LL[0] = L; for cnt = 1 to 9 { LD[cnt] = LD[cnt-1][1]; LT[cnt] = LT[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; TL_Delete(dnv[cnt]); if LL[cnt] > 0 and cnt < N Then { dnv[cnt] = TL_New(LD[cnt],LT[cnt],LL[cnt],sdate,stime,LL[cnt]); TL_SetExtRight(dnv[cnt],true); TL_SetColor(tl1,GRAY); TL_SetColor(dnv[cnt],BLACK); TL_SetStyle(dnv[cnt],3); } } if HH[0] > 0 Then { TL1 = TL_new(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]); TL2 = TL_new(HD[0],HT[0],(HH[0]+LL[0])/2,LD[0],LT[0],(HH[0]+LL[0])/2); } TL_Delete(dnv[0]); dnv[0] = TL_New(sdate[1],stime[1],LL[0],LD[0],LT[0],LL[0]); TL_SetExtRight(dnv[0],true); } if T == 1 then { if H > HH[0] Then { HH[0] = H; HD[0] = sdate; HT[0] = stime; TL_SetEnd(TL1,HD[0],HT[0],HH[0]); TL_SetBegin(TL2,LD[0],LT[0],(HH[0]+LL[0])/2); TL_SetEnd(TL2,HD[0],HT[0],(HH[0]+LL[0])/2); } TL_Delete(upv[0]); upv[0] = TL_New(HD[0],HT[0],HH[0],sdate,stime,HH[0]); TL_SetExtRight(upv[0],true); TL_SetColor(tl1,YELLOW); TL_SetColor(upv[0],MAGENTA); } if T == -1 then { if L < LL[0] Then { LL[0] = L; LD[0] = sdate; LT[0] = stime; TL_SetEnd(TL1,LD[0],LT[0],LL[0]); TL_SetBegin(TL2,HD[0],HT[0],(HH[0]+LL[0])/2); TL_SetEnd(TL2,LD[0],LT[0],(HH[0]+LL[0])/2); } TL_Delete(dnv[0]); dnv[0] = TL_New(LD[0],LT[0],LL[0],sdate,stime,LL[0]); TL_SetExtRight(dnv[0],true); TL_SetColor(tl1,CYAN); TL_SetColor(dnv[0],BLUE); } 즐거운 하루되세요 > 골든키 님이 쓴 글입니다. > 제목 : 수식첨가부탁드립니다 > #,아래수식에서 파동의 1/2일선을 우측 그리기수식을 추가 삽입하려고, var;TL2 추가하고 TL2 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2); 수식을 추가하니까 배열요소값이 와야한다는 오류가 뜨내요.. 도움부탁드립니다. #,제가 원하는식은 현재 수식 조건에다가 파동의 중심값을 추가로 오른쪽 그리기로 하는 식입니다. Input : af(0.02), maxAF(0.2),n(5); var : T(0),TL1(0),cnt(0); Array : HH[10](0),HD[10](0),HT[10](0); Array : LL[10](0),LD[10](0),LT[10](0); Array : upv[10](0),dnv[10](0); var1 = CSar(af,maxAF); if crossup(c,var1) Then { T = 1; HD[0] = sdate; HT[0] = stime; HH[0] = H; for cnt = 1 to 9 { HD[cnt] = HD[cnt-1][1]; HT[cnt] = HT[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; TL_Delete(upv[cnt]); if HH[cnt] > 0 and cnt < N Then { upv[cnt] = TL_New(HD[cnt],HT[cnt],HH[cnt],sdate,stime,HH[cnt]); TL_SetExtRight(upv[cnt],true); TL_SetColor(tl1,GRAY); TL_SetColor(upv[cnt],RED); TL_SetStyle(upv[cnt],3); } } if LL[0] > 0 Then { TL1 = TL_new(LD[0],LT[0],LL[0],HD[0],HT[0],HH[0]); } TL_Delete(upv[0]); upv[0] = TL_New(sdate[1],stime[1],HH[0],HD[0],HT[0],HH[0]); TL_SetExtRight(upv[0],true); } if CrossDown(c,var1) Then { T = -1; LD[0] = sdate; LT[0] = stime; LL[0] = L; for cnt = 1 to 9 { LD[cnt] = LD[cnt-1][1]; LT[cnt] = LT[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; TL_Delete(dnv[cnt]); if LL[cnt] > 0 and cnt < N Then { dnv[cnt] = TL_New(LD[cnt],LT[cnt],LL[cnt],sdate,stime,LL[cnt]); TL_SetExtRight(dnv[cnt],true); TL_SetColor(tl1,GRAY); TL_SetColor(dnv[cnt],BLACK); TL_SetStyle(dnv[cnt],3); } } if HH[0] > 0 Then { TL1 = TL_new(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]); } TL_Delete(dnv[0]); dnv[0] = TL_New(sdate[1],stime[1],LL[0],LD[0],LT[0],LL[0]); TL_SetExtRight(dnv[0],true); } if T == 1 then { if H > HH[0] Then { HH[0] = H; HD[0] = sdate; HT[0] = stime; TL_SetEnd(TL1,HD[0],HT[0],HH[0]); } TL_Delete(upv[0]); upv[0] = TL_New(HD[0],HT[0],HH[0],sdate,stime,HH[0]); TL_SetExtRight(upv[0],true); TL_SetColor(tl1,YELLOW); TL_SetColor(upv[0],MAGENTA); } if T == -1 then { if L < LL[0] Then { LL[0] = L; LD[0] = sdate; LT[0] = stime; TL_SetEnd(TL1,LD[0],LT[0],LL[0]); } TL_Delete(dnv[0]); dnv[0] = TL_New(LD[0],LT[0],LL[0],sdate,stime,LL[0]); TL_SetExtRight(dnv[0],true); TL_SetColor(tl1,CYAN); TL_SetColor(dnv[0],BLUE); } $$$,언제나 늘 고맙습니다.