커뮤니티
부탁 드립니다.
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;
}