커뮤니티

만기일 공휴일일 경우 오류

프로필 이미지
스퍼트시커
2014-10-13 09:56:45
210
글번호 79279
답변완료
항상 신속하고 상세하게 답변 주셔서 많은 도움을 받고 있습니다. 감사합니다. 아래는 이전에 도와 주신 옵션의 상대방 월간 고가 저가 월물첫날의 저가 등을 산출하는 지표식입니다. 지난주 목요일이 만기일이면서 공휴일인데 이거와 관련 되는지 잘 맞던 지표가 이번물에 맞질 않는군요. 아래 수식 중 처음 3개 라인의 보완이 필요해 보이는데 어떻게 할 방법을 모르겠습니다. 좀 도와주셔요! 휴일경우를 감안한 식으로 또는 휴일이 끼어 있는 달에만 별도로 적용할 지표식을 좀 부탁드립니다. va2 = data1(date - int(date/100)*100); va3 = data1(DayOfWeek(date)); if va2 >= 8 and va2 <= 14 and va3 == 4 then cond1 = true; Else cond1 = false; if data1(date != date[1]) Then{ H11 = H1[1]; L11 = L1[1]; if cond1 == false and cond1[1] == true Then{ daycnt1 = 0; H1 = data1(H); L1 = data1(L); } Else daycnt1 = daycnt1+1; } if daycnt1 == 0 Then{ LowValue1 = data1(daylow); } if data1(H) > H1 Then H1 = data1(H); if data1(L) < L1 Then L1 = data1(L); va22 = data2(date - int(date/100)*100); va33 = data2(DayOfWeek(date)); if va22 >= 8 and va22 <= 14 and va33 == 4 then cond2 = true; Else cond2 = false; if data2(date != date[1]) Then{ H21 = H2[1]; L21 = L2[1]; if cond2 == False and cond2[1] == true Then{ daycnt2 = 0; H2 = data2(H); L2 = data2(L); } Else daycnt2 = daycnt2+1; } If daycnt2 == 0 Then LowValue2 = data2(lowD(0)); if data2(H) > H2 Then H2 = data2(H); if data2(L) < L2 Then L2 = data2(L);
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2014-10-13 17:00:21

안녕하세요 예스스탁입니다. 수식에서 만기일은 봉의 날짜를 이용해 두번째 목요일로 계산을 합니다. 두번째 목요일이 휴일이면 만기일이 전일이 되는데 수식에서는 해당 부분이 인식이 되지 않아 다음날로 인식합니다. 데이터에 휴일을 알려주는 데이터가 없어 로직안에서 계산이 가능하지 않습니다. 아래와 같이 if문에 날짜를 나열해 지정해 주는 방법외에는 없습니다. cond1과 cond2의 if문 참고하시기 바랍니다. 순연될 날을 직전 지정해 주셔야 합니다. va2 = data1(date - int(date/100)*100); va3 = data1(DayOfWeek(date)); if (va2 >= 8 and va2 <= 14 and va3 == 4) or data2(sdate == 20141008) then cond1 = true; Else cond1 = false; if data1(date != date[1]) Then{ H11 = H1[1]; L11 = L1[1]; if cond1 == false and cond1[1] == true Then{ daycnt1 = 0; H1 = data1(H); L1 = data1(L); } Else daycnt1 = daycnt1+1; } if daycnt1 == 0 Then{ LowValue1 = data1(daylow); } if data1(H) > H1 Then H1 = data1(H); if data1(L) < L1 Then L1 = data1(L); va22 = data2(date - int(date/100)*100); va33 = data2(DayOfWeek(date)); if (va22 >= 8 and va22 <= 14 and va33 == 4) or data2(sdate == 20141008) then cond2 = true; Else cond2 = false; if data2(date != date[1]) Then{ H21 = H2[1]; L21 = L2[1]; if cond2 == False and cond2[1] == true Then{ daycnt2 = 0; H2 = data2(H); L2 = data2(L); } Else daycnt2 = daycnt2+1; } If daycnt2 == 0 Then LowValue2 = data2(lowD(0)); if data2(H) > H2 Then H2 = data2(H); if data2(L) < L2 Then L2 = data2(L); 즐거운 하루되세요 > 스퍼트시커 님이 쓴 글입니다. > 제목 : 만기일 공휴일일 경우 오류 > 항상 신속하고 상세하게 답변 주셔서 많은 도움을 받고 있습니다. 감사합니다. 아래는 이전에 도와 주신 옵션의 상대방 월간 고가 저가 월물첫날의 저가 등을 산출하는 지표식입니다. 지난주 목요일이 만기일이면서 공휴일인데 이거와 관련 되는지 잘 맞던 지표가 이번물에 맞질 않는군요. 아래 수식 중 처음 3개 라인의 보완이 필요해 보이는데 어떻게 할 방법을 모르겠습니다. 좀 도와주셔요! 휴일경우를 감안한 식으로 또는 휴일이 끼어 있는 달에만 별도로 적용할 지표식을 좀 부탁드립니다. va2 = data1(date - int(date/100)*100); va3 = data1(DayOfWeek(date)); if va2 >= 8 and va2 <= 14 and va3 == 4 then cond1 = true; Else cond1 = false; if data1(date != date[1]) Then{ H11 = H1[1]; L11 = L1[1]; if cond1 == false and cond1[1] == true Then{ daycnt1 = 0; H1 = data1(H); L1 = data1(L); } Else daycnt1 = daycnt1+1; } if daycnt1 == 0 Then{ LowValue1 = data1(daylow); } if data1(H) > H1 Then H1 = data1(H); if data1(L) < L1 Then L1 = data1(L); va22 = data2(date - int(date/100)*100); va33 = data2(DayOfWeek(date)); if va22 >= 8 and va22 <= 14 and va33 == 4 then cond2 = true; Else cond2 = false; if data2(date != date[1]) Then{ H21 = H2[1]; L21 = L2[1]; if cond2 == False and cond2[1] == true Then{ daycnt2 = 0; H2 = data2(H); L2 = data2(L); } Else daycnt2 = daycnt2+1; } If daycnt2 == 0 Then LowValue2 = data2(lowD(0)); if data2(H) > H2 Then H2 = data2(H); if data2(L) < L2 Then L2 = data2(L);
프로필 이미지

스퍼트시커

2014-10-13 22:58:29

잘 해결되었습니다. 진심 감가드립니다.