커뮤니티

부탁 드립니다.

프로필 이미지
yes
2018-05-17 12:03:32
158
글번호 118969
답변완료
항상 만족할 만한 도움 주심에 감사 드립니다. 다음은 57804번에서 "예를들어 지난달 4째주 금요일 0700과 이번달 첫째주 화요일 0700를 연결하는선"을 나타내는 수식으로 작성해주신 것입니다. 잘 가동되고 있습니다. 이것을 임의의 전달, 임의의 주, 임의의 요일을 외부 변수로 입력할수 있도록 부탁 드리고자 합니다. 예를 든다면 2달전 3번째 화요일의 07:00에 시작점과 1달전 4번째 목요일의 07:00에 종료점을 연결하는선 또 다른예를 든다면 3달전 1번째 수요일의 07:00에 시작점과 현재달 2번째 월요일 07:00에 종료점을 연결하는 선 등 입니다. 미리 경배로 감사 인사 올립니다. var : cnt(0),TL(0); Array : D1[10](0),T1[10](0),C1[10](0); Array : D11[10](0),T11[10](0),C11[10](0); Array : D2[10](0),T2[10](0),C2[10](0); Array : D21[10](0),T21[10](0),C21[10](0); #영업일 기준 월변경 if bdate > bdate[1]+30 Then{ #횟수 카운트 하는 변수는 0으로 초기화 var1 = 0; var2 = 0; #전달 카운트 값 다른변수에 저장 var11 = var1[1]; var21 = var2[1]; #기존저장된 값을 전월값을 알기 위해 다른변수에 옮김 for cnt = 1 to 9{ D11[cnt] = D1[cnt]; T11[cnt] = T1[cnt]; C11[cnt] = C1[cnt]; D21[cnt] = D2[cnt]; T21[cnt] = T2[cnt]; C21[cnt] = C2[cnt]; } #날짜/시간/종가 저장하는 배열들은 0으로 초기화 for cnt = 0 to 9{ D1[cnt] = 0; T1[cnt] = 0; C1[cnt] = 0; D2[cnt] = 0; T2[cnt] = 0; C2[cnt] = 0; } } #영업일 변경되고 화요일이면 if bdate != bdate[1] and DayOfWeek(bdate) == 2 Then { #카운트 1씩 증가 var1 = var1+1; #카운트에 해당하는 배열방에 날짜 시간 종가 저장 D1[var1] = sdate; T1[var1] = stime; C1[var1] = C; //첫번째 화요일이고 지날달 금요일 카운트가 4회이상 if var1 == 1 and var21 >= 4 then { TL_Delete(TL); TL = TL_new(D21[4],T21[4],C21[4],D1[1],T1[1],C1[1]); } } #영업이 변경되고 금요일이면 if bdate != bdate[1] and DayOfWeek(bdate) == 5 Then { #카운트 1씩 증가 var2 = var2+1; #카운트에 해당하는 배열방에 날짜 시간 종가 저장 D2[var2] = sdate; T2[var2] = stime; C2[var2] = C; }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-17 15:44:06

안녕하세요 예스스탁입니다. input : n달전1(0),요일1(4),횟수1(4); //2개 지점중 현재에서 가까운 지점 input : n달전2(3),요일2(2),횟수2(3); //2개 지점중 현재에서 먼 지점 var : cnt(0),TL(0),cnt1(0),cnt2(0); Array : D1[10,10](0),T1[10,10](0),C1[10,10](0),N1[10](0); Array : D2[10,10](0),T2[10,10](0),C2[10,10](0),N2[10](0); #영업일 기준 월변경 if bdate > bdate[1]+30 Then { N1[0] = 0; N2[0] = 0; for cnt1 = 1 to 9 { N1[cnt1] = N1[cnt1-1][1]; N2[cnt1] = N2[cnt1-1][1]; for cnt2 = 1 to 9 { D1[cnt2,cnt1] = D1[cnt2,cnt1-1][1]; T1[cnt2,cnt1] = T1[cnt2,cnt1-1][1]; C1[cnt2,cnt1] = C1[cnt2,cnt1-1][1]; D2[cnt2,cnt1] = D2[cnt2,cnt1-1][1]; T2[cnt2,cnt1] = T2[cnt2,cnt1-1][1]; C2[cnt2,cnt1] = C2[cnt2,cnt1-1][1]; } } #날짜/시간/종가 저장하는 배열들은 0으로 초기화 for cnt = 0 to 9 { D1[cnt,0] = 0; T1[cnt,0] = 0; C1[cnt,0] = 0; D2[cnt,0] = 0; T2[cnt,0] = 0; C2[cnt,0] = 0; } } if bdate != bdate[1] and DayOfWeek(bdate) == 요일1 Then { N1[0] = N1[0]+1; D1[N1[0],0] = sdate; T1[N1[0],0] = stime; C1[N1[0],0] = C; if N1[n달전1] == 횟수1 and N2[n달전2] >= 횟수2 then { TL_Delete(TL); TL = TL_new(D2[횟수2,n달전2],T2[횟수2,n달전2],C2[횟수2,n달전2],D1[횟수1,n달전1],T1[횟수1,n달전1],C1[횟수1,n달전1]); } } if bdate != bdate[1] and DayOfWeek(bdate) == 요일2 Then { N2[0] = N2[0]+1; D2[N2[0],0] = sdate; T2[N2[0],0] = stime; C2[N2[0],0] = C; } 즐거운 하루되세요 > yes 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 항상 만족할 만한 도움 주심에 감사 드립니다. 다음은 57804번에서 "예를들어 지난달 4째주 금요일 0700과 이번달 첫째주 화요일 0700를 연결하는선"을 나타내는 수식으로 작성해주신 것입니다. 잘 가동되고 있습니다. 이것을 임의의 전달, 임의의 주, 임의의 요일을 외부 변수로 입력할수 있도록 부탁 드리고자 합니다. 예를 든다면 2달전 3번째 화요일의 07:00에 시작점과 1달전 4번째 목요일의 07:00에 종료점을 연결하는선 또 다른예를 든다면 3달전 1번째 수요일의 07:00에 시작점과 현재달 2번째 월요일 07:00에 종료점을 연결하는 선 등 입니다. 미리 경배로 감사 인사 올립니다. var : cnt(0),TL(0); Array : D1[10](0),T1[10](0),C1[10](0); Array : D11[10](0),T11[10](0),C11[10](0); Array : D2[10](0),T2[10](0),C2[10](0); Array : D21[10](0),T21[10](0),C21[10](0); #영업일 기준 월변경 if bdate > bdate[1]+30 Then{ #횟수 카운트 하는 변수는 0으로 초기화 var1 = 0; var2 = 0; #전달 카운트 값 다른변수에 저장 var11 = var1[1]; var21 = var2[1]; #기존저장된 값을 전월값을 알기 위해 다른변수에 옮김 for cnt = 1 to 9{ D11[cnt] = D1[cnt]; T11[cnt] = T1[cnt]; C11[cnt] = C1[cnt]; D21[cnt] = D2[cnt]; T21[cnt] = T2[cnt]; C21[cnt] = C2[cnt]; } #날짜/시간/종가 저장하는 배열들은 0으로 초기화 for cnt = 0 to 9{ D1[cnt] = 0; T1[cnt] = 0; C1[cnt] = 0; D2[cnt] = 0; T2[cnt] = 0; C2[cnt] = 0; } } #영업일 변경되고 화요일이면 if bdate != bdate[1] and DayOfWeek(bdate) == 2 Then { #카운트 1씩 증가 var1 = var1+1; #카운트에 해당하는 배열방에 날짜 시간 종가 저장 D1[var1] = sdate; T1[var1] = stime; C1[var1] = C; //첫번째 화요일이고 지날달 금요일 카운트가 4회이상 if var1 == 1 and var21 >= 4 then { TL_Delete(TL); TL = TL_new(D21[4],T21[4],C21[4],D1[1],T1[1],C1[1]); } } #영업이 변경되고 금요일이면 if bdate != bdate[1] and DayOfWeek(bdate) == 5 Then { #카운트 1씩 증가 var2 = var2+1; #카운트에 해당하는 배열방에 날짜 시간 종가 저장 D2[var2] = sdate; T2[var2] = stime; C2[var2] = C; }