커뮤니티

문의드립니다

프로필 이미지
하얀그림자
2013-06-06 22:07:30
231
글번호 64046
답변완료
Input:기간단위(1), //1(일단위),2(주단위),3(월단위),4(년단위),그외(전기간) 추세강화판단(5); //최종 저점이후 얼마 지나야 추세강화를 판단할 지 입력 //여기서는 5봉 이후에 판단하라는 의미 //이 값이 커지면 추세강화처리 빈도가 작아진다 Var:j(0),k(0),n(0),Yes(1),No(0), 최종저Bar(0), //입력변수 추세강화판단과 비교하기 위해 내부 카운트 변수 추세선추가(0), //추세이탈 발생시 추세선을 추가할지 말지 구분자 기울기(0), 추세강화(0); //추세강화를 한번만 처리하기 위해 발생 여부 구분 Array:기준저[100](0), //기본형과 달리 추세강화 처리시 기준저 값이 바뀌므로 기준저Bar[100](0), //배열로 선언 저[100](0),저Bar[100](0), 추세선[100](0), 체크Bit[100](0); //기준저와 저점의 값은 그대로 유지하면서 추세선값만 //지울 때 사용. //추세강화 처리시 이전 추세선의 연장을 막음 #==========================================# # 기준점들의 index 값 증가 #==========================================# 최종저Bar = 최종저Bar + 1; For j = 1 To 99 { 기준저Bar[j] = 기준저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 기간단위별 초기화 #==========================================# If (기간단위 == 1 && Date[1] < Date) || (기간단위 == 2 && Date[1] < Date && _DayOfWeek[1] >= _DayOfWeek) || //사용자함수 (기간단위 == 3 && Int(Date/100)[1] < Int(Date/100)) || (기간단위 == 4 && Int(Date/10000)[1] < Int(Date/10000)) Then { For j = 1 To 99 { 추세선[j] = 0; 기준저[j] = 0; 체크Bit[j] = No; } n = 0; 최종저Bar = 0; 추세강화 = No; } #==========================================# # 추세의 출발점 찾기 #==========================================# If 기준저[n] == 0 && ((기간단위 == 1 && L[1] == DayLow) || (기간단위 == 2 && L[1] == _WeekLow(0)) || //사용자함수 (기간단위 > 2 && L[1] == _MonthLow(0))) && //사용자함수 L[1] < L Then { n = n + 1; 기준저[n] = L[1]; 기준저Bar[n] = 1; 저[n] = L; 저Bar[n] = 0; 체크Bit[n] = Yes; //현재 추세선이 유효하다고 세팅 추세선추가 = No; //추세를 찾는 초기이기 때문에 추세선이 자리잡을 때까지 //추세이탈이 발생해도 추세선을 새로 추가하지 못하도록 한다 } #==========================================# # 추세선 계산 #==========================================# For j = 1 To n //증가된 n만큼 추세선을 재계산 { 추세선[j] = ((저[j]-기준저[j])/(기준저Bar[j]-저Bar[j]) * 기준저Bar[j] + 기준저[j]) * 체크Bit[j]; } #==========================================# # 추세선 유효성 판단 #==========================================# If 기준저[n] > 0 && 기준저[n] < L Then //출발점보다 저가가 높은 상태를 유지 { #------------------------------------------# # 저가가 추세선 하향 이탈시 신규 추세선 추가 #------------------------------------------# If 추세선[n] > L Then //추세이탈 발생 { If 추세선추가 == Yes Then //추세선 추가 가능 { If 추세강화 == Yes Then //현재 추세선이 추세강화에 의해 출발점이 변경된 경우라면 { For j = n - 1 DownTo 1 //추세강화에 의한 추세선은 현재 추세선보다 위에 존재하고 { //밑에 존재하는 추세선은 원래의 추세선밖에 없다. If 추세선[n] >= 추세선[j] && //추세강화에 의한 추세선 밑에 추세선[j] > 0 && //원래 출발점으로부터의 추세선이 있고 추세선[j] > L Then //그 원추세선을 이탈하였다면 { For k = n DownTo j + 1 //추세강화에 의해 산출된 추세선들은 { 추세선[k] = 0; //더 이상의 의미가 없으므로 기준저[k] = 0; //삭제한다. 체크Bit[k] = No; } n = j; //지우고 나서 가장 최근 추세선의 번호 추세강화 = No; //더 이상 추세강화 없음 j = 1; //For문에서 중간에 빠져나가기 위해 j에 1을 대입 } } } n = n + 1; //추세선 추가 기준저[n] = 기준저[n-1]; //출발점을 직전 추세선과 동일하게 유지 기준저Bar[n] = 기준저Bar[n-1]; 추세선추가 = No; //가격이 게속 하락할 경우 신규 추세선을 } //추가 못하도록 불가로 세팅 저[n] = L; 저Bar[n] = 0; 최종저Bar = 0; 체크Bit[n] = Yes; //새로 추가되는 추세선이 유효하다는 의미 추세선[n] = ((저[n]-기준저[n])/(기준저Bar[n]-저Bar[n]) * 기준저Bar[n] + 기준저[n]) * 체크Bit[n]; } Else If 추세선[n] > 0 Then { #------------------------------------------# # 추세강화시 새로운 출발점의 추세선을 추가 #------------------------------------------# If 추세강화 == No && //추세강화가 아직 발생 안했고 최종저Bar > 추세강화판단 Then //일정 기간동안 추세이탈이 일어나지 않고 있다면 { //추세강화로 보고 새로운 출발점 찾는다 n = n + 1; //추세선 추가 기준저[n] = 저[n-1]; //이전 추세선의 B점을 신규 출발점으로 한다 기준저Bar[n] = 저Bar[n-1]; #------------------------------------------# # 출발점부터 현재봉까지 추세선 소급 계산 #------------------------------------------# 저[n] = L[기준저Bar[n]-1]; //출발점의 바로 다음 봉의 저가 기울기 = (저[n]-기준저[n]); 저Bar[n] = 기준저Bar[n]-1; For j = 2 To 기준저Bar[n] //출발점부터 현재 봉까지 아무 것도 계산된 게 { //없으니 소급해서 추세선을 계산 추세선[n] = 기울기 * j + 기준저[n]; If 추세선[n] > L[기준저Bar[n]-j] Then { 저[n] = L[기준저Bar[n]-j]; 기울기 = (저[n]-기준저[n])/j; 저Bar[n] = 기준저Bar[n]-j; 최종저Bar = 저Bar[n]; 추세선[n] = 기울기 * j + 기준저[n]; } } 체크Bit[n] = Yes; For k = n - 2 DownTo 1 //추가된 추세선이 기존 추세선과 크로스되는 것을 방지하기 위해 { //기존의 원추세선중 마지막 추세선 이전 것들은 체크Bit[k] = No; //사용 못하도록 막아 놓는다. 추세선[k] = 0; } 추세강화 = Yes; //추세강화가 발생했음으로 세팅, 두번 이상 발생을 차단 추세선추가 = No; } Else If 저[n] < L && 저Bar[n] > 1 Then 추세선추가 = Yes; } } #------------------------------------------# # 출발점의 유효성 판단 #------------------------------------------# Else If 기준저[n] > 0 && 기준저[n] >= L Then //출발점보다 저가가 낮아지면 { For j = n DownTo 1 { If 기준저[j] > 0 && 기준저[j] >= L Then //출발점이 무너진 추세선만 초기화 { 추세선[j] = 0; 기준저[j] = 0; 체크Bit[j] = No; n = j - 1; } } 최종저Bar = 0; 추세강화 = No; } #==========================================# # 지표식 출력 #==========================================# If 추세선[1] > 0 Then Plot1(추세선[1]); If 추세선[2] > 0 Then Plot2(추세선[2]); If 추세선[3] > 0 Then Plot3(추세선[3]); If 추세선[4] > 0 Then Plot4(추세선[4]); If 추세선[5] > 0 Then Plot5(추세선[5]); If 추세선[6] > 0 Then Plot6(추세선[6]); If 추세선[7] > 0 Then Plot7(추세선[7]); If 추세선[8] > 0 Then Plot8(추세선[8]); If 추세선[9] > 0 Then Plot9(추세선[9]); If 추세선[10] > 0 Then Plot10(추세선[10]); If 추세선[11] > 0 Then Plot11(추세선[11]); If 추세선[12] > 0 Then Plot12(추세선[12]); If 추세선[13] > 0 Then Plot13(추세선[13]); If 추세선[14] > 0 Then Plot14(추세선[14]); If 추세선[15] > 0 Then Plot15(추세선[15]); If 추세선[16] > 0 Then Plot16(추세선[16]); If 추세선[17] > 0 Then Plot17(추세선[17]); If 추세선[18] > 0 Then Plot18(추세선[18]); If 추세선[19] > 0 Then Plot19(추세선[19]); If 추세선[20] > 0 Then Plot20(추세선[20]); If 추세선[21] > 0 Then Plot21(추세선[21]); If 추세선[22] > 0 Then Plot22(추세선[22]); If 추세선[23] > 0 Then Plot23(추세선[23]); If 추세선[24] > 0 Then Plot24(추세선[24]); If 추세선[25] > 0 Then Plot25(추세선[25]); If 추세선[26] > 0 Then Plot26(추세선[26]); If 추세선[27] > 0 Then Plot27(추세선[27]); If 추세선[28] > 0 Then Plot28(추세선[28]); If 추세선[29] > 0 Then Plot29(추세선[29]); If 추세선[30] > 0 Then Plot30(추세선[30]); If 추세선[31] > 0 Then Plot31(추세선[31]); If 추세선[32] > 0 Then Plot32(추세선[32]); If 추세선[33] > 0 Then Plot33(추세선[33]); If 추세선[34] > 0 Then Plot34(추세선[34]); If 추세선[35] > 0 Then Plot35(추세선[35]); If 추세선[36] > 0 Then Plot36(추세선[36]); If 추세선[37] > 0 Then Plot37(추세선[37]); If 추세선[38] > 0 Then Plot38(추세선[38]); If 추세선[39] > 0 Then Plot39(추세선[39]); 이수식을넣으면 선언되지않은이름dayofweek,weeklow,monthlow가사용되었다고나오는데무엇을어떻게해야하는지좀알려주세요...감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-06-07 10:35:55

안녕하세요 예스스탁입니다. 해당 식에는 사용자가 직접 만든 함수가 사용이 되어 있습니다. 식안에 해당 내용 추가했습니다. Input:기간단위(1), //1(일단위),2(주단위),3(월단위),4(년단위),그외(전기간) 추세강화판단(5); //최종 저점이후 얼마 지나야 추세강화를 판단할 지 입력 //여기서는 5봉 이후에 판단하라는 의미 //이 값이 커지면 추세강화처리 빈도가 작아진다 Var:j(0),k(0),n(0),Yes(1),No(0), 최종저Bar(0), //입력변수 추세강화판단과 비교하기 위해 내부 카운트 변수 추세선추가(0), //추세이탈 발생시 추세선을 추가할지 말지 구분자 기울기(0), 추세강화(0); //추세강화를 한번만 처리하기 위해 발생 여부 구분 Array:기준저[100](0), //기본형과 달리 추세강화 처리시 기준저 값이 바뀌므로 기준저Bar[100](0), //배열로 선언 저[100](0),저Bar[100](0), 추세선[100](0), 체크Bit[100](0); //기준저와 저점의 값은 그대로 유지하면서 추세선값만 //지울 때 사용. //추세강화 처리시 이전 추세선의 연장을 막음 var : _WeekLow(0),_MonthLow(0); if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then _WeekLow = L; if L < _WeekLow Then _WeekLow = L; if date > date[1]+30 Then _MonthLow = L; if L < _MonthLow Then _MonthLow = L; #==========================================# # 기준점들의 index 값 증가 #==========================================# 최종저Bar = 최종저Bar + 1; For j = 1 To 99 { 기준저Bar[j] = 기준저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 기간단위별 초기화 #==========================================# If (기간단위 == 1 && Date[1] < Date) || (기간단위 == 2 && Date[1] < Date && DayOfWeek(sdate[1]) >= DayOfWeek(sdate)) || //사용자함수 (기간단위 == 3 && Int(Date/100)[1] < Int(Date/100)) || (기간단위 == 4 && Int(Date/10000)[1] < Int(Date/10000)) Then { For j = 1 To 99 { 추세선[j] = 0; 기준저[j] = 0; 체크Bit[j] = No; } n = 0; 최종저Bar = 0; 추세강화 = No; } #==========================================# # 추세의 출발점 찾기 #==========================================# If 기준저[n] == 0 && ((기간단위 == 1 && L[1] == DayLow) || (기간단위 == 2 && L[1] == _WeekLow) || //사용자함수 (기간단위 > 2 && L[1] == _MonthLow)) && //사용자함수 L[1] < L Then { n = n + 1; 기준저[n] = L[1]; 기준저Bar[n] = 1; 저[n] = L; 저Bar[n] = 0; 체크Bit[n] = Yes; //현재 추세선이 유효하다고 세팅 추세선추가 = No; //추세를 찾는 초기이기 때문에 추세선이 자리잡을 때까지 //추세이탈이 발생해도 추세선을 새로 추가하지 못하도록 한다 } #==========================================# # 추세선 계산 #==========================================# For j = 1 To n //증가된 n만큼 추세선을 재계산 { 추세선[j] = ((저[j]-기준저[j])/(기준저Bar[j]-저Bar[j]) * 기준저Bar[j] + 기준저[j]) * 체크Bit[j]; } #==========================================# # 추세선 유효성 판단 #==========================================# If 기준저[n] > 0 && 기준저[n] < L Then //출발점보다 저가가 높은 상태를 유지 { #------------------------------------------# # 저가가 추세선 하향 이탈시 신규 추세선 추가 #------------------------------------------# If 추세선[n] > L Then //추세이탈 발생 { If 추세선추가 == Yes Then //추세선 추가 가능 { If 추세강화 == Yes Then //현재 추세선이 추세강화에 의해 출발점이 변경된 경우라면 { For j = n - 1 DownTo 1 //추세강화에 의한 추세선은 현재 추세선보다 위에 존재하고 { //밑에 존재하는 추세선은 원래의 추세선밖에 없다. If 추세선[n] >= 추세선[j] && //추세강화에 의한 추세선 밑에 추세선[j] > 0 && //원래 출발점으로부터의 추세선이 있고 추세선[j] > L Then //그 원추세선을 이탈하였다면 { For k = n DownTo j + 1 //추세강화에 의해 산출된 추세선들은 { 추세선[k] = 0; //더 이상의 의미가 없으므로 기준저[k] = 0; //삭제한다. 체크Bit[k] = No; } n = j; //지우고 나서 가장 최근 추세선의 번호 추세강화 = No; //더 이상 추세강화 없음 j = 1; //For문에서 중간에 빠져나가기 위해 j에 1을 대입 } } } n = n + 1; //추세선 추가 기준저[n] = 기준저[n-1]; //출발점을 직전 추세선과 동일하게 유지 기준저Bar[n] = 기준저Bar[n-1]; 추세선추가 = No; //가격이 게속 하락할 경우 신규 추세선을 } //추가 못하도록 불가로 세팅 저[n] = L; 저Bar[n] = 0; 최종저Bar = 0; 체크Bit[n] = Yes; //새로 추가되는 추세선이 유효하다는 의미 추세선[n] = ((저[n]-기준저[n])/(기준저Bar[n]-저Bar[n]) * 기준저Bar[n] + 기준저[n]) * 체크Bit[n]; } Else If 추세선[n] > 0 Then { #------------------------------------------# # 추세강화시 새로운 출발점의 추세선을 추가 #------------------------------------------# If 추세강화 == No && //추세강화가 아직 발생 안했고 최종저Bar > 추세강화판단 Then //일정 기간동안 추세이탈이 일어나지 않고 있다면 { //추세강화로 보고 새로운 출발점 찾는다 n = n + 1; //추세선 추가 기준저[n] = 저[n-1]; //이전 추세선의 B점을 신규 출발점으로 한다 기준저Bar[n] = 저Bar[n-1]; #------------------------------------------# # 출발점부터 현재봉까지 추세선 소급 계산 #------------------------------------------# 저[n] = L[기준저Bar[n]-1]; //출발점의 바로 다음 봉의 저가 기울기 = (저[n]-기준저[n]); 저Bar[n] = 기준저Bar[n]-1; For j = 2 To 기준저Bar[n] //출발점부터 현재 봉까지 아무 것도 계산된 게 { //없으니 소급해서 추세선을 계산 추세선[n] = 기울기 * j + 기준저[n]; If 추세선[n] > L[기준저Bar[n]-j] Then { 저[n] = L[기준저Bar[n]-j]; 기울기 = (저[n]-기준저[n])/j; 저Bar[n] = 기준저Bar[n]-j; 최종저Bar = 저Bar[n]; 추세선[n] = 기울기 * j + 기준저[n]; } } 체크Bit[n] = Yes; For k = n - 2 DownTo 1 //추가된 추세선이 기존 추세선과 크로스되는 것을 방지하기 위해 { //기존의 원추세선중 마지막 추세선 이전 것들은 체크Bit[k] = No; //사용 못하도록 막아 놓는다. 추세선[k] = 0; } 추세강화 = Yes; //추세강화가 발생했음으로 세팅, 두번 이상 발생을 차단 추세선추가 = No; } Else If 저[n] < L && 저Bar[n] > 1 Then 추세선추가 = Yes; } } #------------------------------------------# # 출발점의 유효성 판단 #------------------------------------------# Else If 기준저[n] > 0 && 기준저[n] >= L Then //출발점보다 저가가 낮아지면 { For j = n DownTo 1 { If 기준저[j] > 0 && 기준저[j] >= L Then //출발점이 무너진 추세선만 초기화 { 추세선[j] = 0; 기준저[j] = 0; 체크Bit[j] = No; n = j - 1; } } 최종저Bar = 0; 추세강화 = No; } #==========================================# # 지표식 출력 #==========================================# If 추세선[1] > 0 Then Plot1(추세선[1]); If 추세선[2] > 0 Then Plot2(추세선[2]); If 추세선[3] > 0 Then Plot3(추세선[3]); If 추세선[4] > 0 Then Plot4(추세선[4]); If 추세선[5] > 0 Then Plot5(추세선[5]); If 추세선[6] > 0 Then Plot6(추세선[6]); If 추세선[7] > 0 Then Plot7(추세선[7]); If 추세선[8] > 0 Then Plot8(추세선[8]); If 추세선[9] > 0 Then Plot9(추세선[9]); If 추세선[10] > 0 Then Plot10(추세선[10]); If 추세선[11] > 0 Then Plot11(추세선[11]); If 추세선[12] > 0 Then Plot12(추세선[12]); If 추세선[13] > 0 Then Plot13(추세선[13]); If 추세선[14] > 0 Then Plot14(추세선[14]); If 추세선[15] > 0 Then Plot15(추세선[15]); If 추세선[16] > 0 Then Plot16(추세선[16]); If 추세선[17] > 0 Then Plot17(추세선[17]); If 추세선[18] > 0 Then Plot18(추세선[18]); If 추세선[19] > 0 Then Plot19(추세선[19]); If 추세선[20] > 0 Then Plot20(추세선[20]); If 추세선[21] > 0 Then Plot21(추세선[21]); If 추세선[22] > 0 Then Plot22(추세선[22]); If 추세선[23] > 0 Then Plot23(추세선[23]); If 추세선[24] > 0 Then Plot24(추세선[24]); If 추세선[25] > 0 Then Plot25(추세선[25]); If 추세선[26] > 0 Then Plot26(추세선[26]); If 추세선[27] > 0 Then Plot27(추세선[27]); If 추세선[28] > 0 Then Plot28(추세선[28]); If 추세선[29] > 0 Then Plot29(추세선[29]); If 추세선[30] > 0 Then Plot30(추세선[30]); If 추세선[31] > 0 Then Plot31(추세선[31]); If 추세선[32] > 0 Then Plot32(추세선[32]); If 추세선[33] > 0 Then Plot33(추세선[33]); If 추세선[34] > 0 Then Plot34(추세선[34]); If 추세선[35] > 0 Then Plot35(추세선[35]); If 추세선[36] > 0 Then Plot36(추세선[36]); If 추세선[37] > 0 Then Plot37(추세선[37]); If 추세선[38] > 0 Then Plot38(추세선[38]); If 추세선[39] > 0 Then Plot39(추세선[39]); 즐거운 하루되세요 > 하얀그림자 님이 쓴 글입니다. > 제목 : 문의드립니다 > Input:기간단위(1), //1(일단위),2(주단위),3(월단위),4(년단위),그외(전기간) 추세강화판단(5); //최종 저점이후 얼마 지나야 추세강화를 판단할 지 입력 //여기서는 5봉 이후에 판단하라는 의미 //이 값이 커지면 추세강화처리 빈도가 작아진다 Var:j(0),k(0),n(0),Yes(1),No(0), 최종저Bar(0), //입력변수 추세강화판단과 비교하기 위해 내부 카운트 변수 추세선추가(0), //추세이탈 발생시 추세선을 추가할지 말지 구분자 기울기(0), 추세강화(0); //추세강화를 한번만 처리하기 위해 발생 여부 구분 Array:기준저[100](0), //기본형과 달리 추세강화 처리시 기준저 값이 바뀌므로 기준저Bar[100](0), //배열로 선언 저[100](0),저Bar[100](0), 추세선[100](0), 체크Bit[100](0); //기준저와 저점의 값은 그대로 유지하면서 추세선값만 //지울 때 사용. //추세강화 처리시 이전 추세선의 연장을 막음 #==========================================# # 기준점들의 index 값 증가 #==========================================# 최종저Bar = 최종저Bar + 1; For j = 1 To 99 { 기준저Bar[j] = 기준저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 기간단위별 초기화 #==========================================# If (기간단위 == 1 && Date[1] < Date) || (기간단위 == 2 && Date[1] < Date && _DayOfWeek[1] >= _DayOfWeek) || //사용자함수 (기간단위 == 3 && Int(Date/100)[1] < Int(Date/100)) || (기간단위 == 4 && Int(Date/10000)[1] < Int(Date/10000)) Then { For j = 1 To 99 { 추세선[j] = 0; 기준저[j] = 0; 체크Bit[j] = No; } n = 0; 최종저Bar = 0; 추세강화 = No; } #==========================================# # 추세의 출발점 찾기 #==========================================# If 기준저[n] == 0 && ((기간단위 == 1 && L[1] == DayLow) || (기간단위 == 2 && L[1] == _WeekLow(0)) || //사용자함수 (기간단위 > 2 && L[1] == _MonthLow(0))) && //사용자함수 L[1] < L Then { n = n + 1; 기준저[n] = L[1]; 기준저Bar[n] = 1; 저[n] = L; 저Bar[n] = 0; 체크Bit[n] = Yes; //현재 추세선이 유효하다고 세팅 추세선추가 = No; //추세를 찾는 초기이기 때문에 추세선이 자리잡을 때까지 //추세이탈이 발생해도 추세선을 새로 추가하지 못하도록 한다 } #==========================================# # 추세선 계산 #==========================================# For j = 1 To n //증가된 n만큼 추세선을 재계산 { 추세선[j] = ((저[j]-기준저[j])/(기준저Bar[j]-저Bar[j]) * 기준저Bar[j] + 기준저[j]) * 체크Bit[j]; } #==========================================# # 추세선 유효성 판단 #==========================================# If 기준저[n] > 0 && 기준저[n] < L Then //출발점보다 저가가 높은 상태를 유지 { #------------------------------------------# # 저가가 추세선 하향 이탈시 신규 추세선 추가 #------------------------------------------# If 추세선[n] > L Then //추세이탈 발생 { If 추세선추가 == Yes Then //추세선 추가 가능 { If 추세강화 == Yes Then //현재 추세선이 추세강화에 의해 출발점이 변경된 경우라면 { For j = n - 1 DownTo 1 //추세강화에 의한 추세선은 현재 추세선보다 위에 존재하고 { //밑에 존재하는 추세선은 원래의 추세선밖에 없다. If 추세선[n] >= 추세선[j] && //추세강화에 의한 추세선 밑에 추세선[j] > 0 && //원래 출발점으로부터의 추세선이 있고 추세선[j] > L Then //그 원추세선을 이탈하였다면 { For k = n DownTo j + 1 //추세강화에 의해 산출된 추세선들은 { 추세선[k] = 0; //더 이상의 의미가 없으므로 기준저[k] = 0; //삭제한다. 체크Bit[k] = No; } n = j; //지우고 나서 가장 최근 추세선의 번호 추세강화 = No; //더 이상 추세강화 없음 j = 1; //For문에서 중간에 빠져나가기 위해 j에 1을 대입 } } } n = n + 1; //추세선 추가 기준저[n] = 기준저[n-1]; //출발점을 직전 추세선과 동일하게 유지 기준저Bar[n] = 기준저Bar[n-1]; 추세선추가 = No; //가격이 게속 하락할 경우 신규 추세선을 } //추가 못하도록 불가로 세팅 저[n] = L; 저Bar[n] = 0; 최종저Bar = 0; 체크Bit[n] = Yes; //새로 추가되는 추세선이 유효하다는 의미 추세선[n] = ((저[n]-기준저[n])/(기준저Bar[n]-저Bar[n]) * 기준저Bar[n] + 기준저[n]) * 체크Bit[n]; } Else If 추세선[n] > 0 Then { #------------------------------------------# # 추세강화시 새로운 출발점의 추세선을 추가 #------------------------------------------# If 추세강화 == No && //추세강화가 아직 발생 안했고 최종저Bar > 추세강화판단 Then //일정 기간동안 추세이탈이 일어나지 않고 있다면 { //추세강화로 보고 새로운 출발점 찾는다 n = n + 1; //추세선 추가 기준저[n] = 저[n-1]; //이전 추세선의 B점을 신규 출발점으로 한다 기준저Bar[n] = 저Bar[n-1]; #------------------------------------------# # 출발점부터 현재봉까지 추세선 소급 계산 #------------------------------------------# 저[n] = L[기준저Bar[n]-1]; //출발점의 바로 다음 봉의 저가 기울기 = (저[n]-기준저[n]); 저Bar[n] = 기준저Bar[n]-1; For j = 2 To 기준저Bar[n] //출발점부터 현재 봉까지 아무 것도 계산된 게 { //없으니 소급해서 추세선을 계산 추세선[n] = 기울기 * j + 기준저[n]; If 추세선[n] > L[기준저Bar[n]-j] Then { 저[n] = L[기준저Bar[n]-j]; 기울기 = (저[n]-기준저[n])/j; 저Bar[n] = 기준저Bar[n]-j; 최종저Bar = 저Bar[n]; 추세선[n] = 기울기 * j + 기준저[n]; } } 체크Bit[n] = Yes; For k = n - 2 DownTo 1 //추가된 추세선이 기존 추세선과 크로스되는 것을 방지하기 위해 { //기존의 원추세선중 마지막 추세선 이전 것들은 체크Bit[k] = No; //사용 못하도록 막아 놓는다. 추세선[k] = 0; } 추세강화 = Yes; //추세강화가 발생했음으로 세팅, 두번 이상 발생을 차단 추세선추가 = No; } Else If 저[n] < L && 저Bar[n] > 1 Then 추세선추가 = Yes; } } #------------------------------------------# # 출발점의 유효성 판단 #------------------------------------------# Else If 기준저[n] > 0 && 기준저[n] >= L Then //출발점보다 저가가 낮아지면 { For j = n DownTo 1 { If 기준저[j] > 0 && 기준저[j] >= L Then //출발점이 무너진 추세선만 초기화 { 추세선[j] = 0; 기준저[j] = 0; 체크Bit[j] = No; n = j - 1; } } 최종저Bar = 0; 추세강화 = No; } #==========================================# # 지표식 출력 #==========================================# If 추세선[1] > 0 Then Plot1(추세선[1]); If 추세선[2] > 0 Then Plot2(추세선[2]); If 추세선[3] > 0 Then Plot3(추세선[3]); If 추세선[4] > 0 Then Plot4(추세선[4]); If 추세선[5] > 0 Then Plot5(추세선[5]); If 추세선[6] > 0 Then Plot6(추세선[6]); If 추세선[7] > 0 Then Plot7(추세선[7]); If 추세선[8] > 0 Then Plot8(추세선[8]); If 추세선[9] > 0 Then Plot9(추세선[9]); If 추세선[10] > 0 Then Plot10(추세선[10]); If 추세선[11] > 0 Then Plot11(추세선[11]); If 추세선[12] > 0 Then Plot12(추세선[12]); If 추세선[13] > 0 Then Plot13(추세선[13]); If 추세선[14] > 0 Then Plot14(추세선[14]); If 추세선[15] > 0 Then Plot15(추세선[15]); If 추세선[16] > 0 Then Plot16(추세선[16]); If 추세선[17] > 0 Then Plot17(추세선[17]); If 추세선[18] > 0 Then Plot18(추세선[18]); If 추세선[19] > 0 Then Plot19(추세선[19]); If 추세선[20] > 0 Then Plot20(추세선[20]); If 추세선[21] > 0 Then Plot21(추세선[21]); If 추세선[22] > 0 Then Plot22(추세선[22]); If 추세선[23] > 0 Then Plot23(추세선[23]); If 추세선[24] > 0 Then Plot24(추세선[24]); If 추세선[25] > 0 Then Plot25(추세선[25]); If 추세선[26] > 0 Then Plot26(추세선[26]); If 추세선[27] > 0 Then Plot27(추세선[27]); If 추세선[28] > 0 Then Plot28(추세선[28]); If 추세선[29] > 0 Then Plot29(추세선[29]); If 추세선[30] > 0 Then Plot30(추세선[30]); If 추세선[31] > 0 Then Plot31(추세선[31]); If 추세선[32] > 0 Then Plot32(추세선[32]); If 추세선[33] > 0 Then Plot33(추세선[33]); If 추세선[34] > 0 Then Plot34(추세선[34]); If 추세선[35] > 0 Then Plot35(추세선[35]); If 추세선[36] > 0 Then Plot36(추세선[36]); If 추세선[37] > 0 Then Plot37(추세선[37]); If 추세선[38] > 0 Then Plot38(추세선[38]); If 추세선[39] > 0 Then Plot39(추세선[39]); 이수식을넣으면 선언되지않은이름dayofweek,weeklow,monthlow가사용되었다고나오는데무엇을어떻게해야하는지좀알려주세요...감사합니다