커뮤니티

국내증시 및 미국증시 일별조건

프로필 이미지
새로운세상
2011-01-02 11:39:42
611
글번호 34662
답변완료
새해 복 많이 받으세요~ 지난 한해 답변을 통하여 많은 도움을 받았습니다. 감사하다는 말씀 드립니다. --------------- 수식 하나 작성을 하였는데, 어느 부분이 잘못인지 수정 부탁드립니다. 수식이 복잡해 보이는데 간략히 설명을 드리면 다음과 같습니다. * 주데이타 연결선물, data2 다우지수 입니다. (2가지 모두 분봉기준) 1) 당일 국내증시가 '월요일'이고 직전거래일이 '금요일'이고 and data2가 '금요일'이고 data2[1]이 '목요일'이면 2) 당일 국내증시가 '화요일'이고 직전거래일이 '월요일'이고 and data2가 '월요일'이고 data2[1]이 '금요일'이면 3) 당일 국내증시가 '수요일'이고 직전거래일이 '화요일'이고 and data2가 '화요일'이고 data2[1]이 '월요일'이면 4) 당일 국내증시가 '목요일'이고 직전거래일이 '수요일'이고 and data2가 '수요일'이고 data2[1]이 '화요일'이면 5) 당일 국내증시가 '금요일'이고 직전거래일이 '목요일'이고 and data2가 '목요일'이고 data2[1]이 '수요일'이면 5개 조건중 하나를 만족하면 true 아니면 false If date!=date[1] and data2(date)!=data2(date[1]) Then { if (DayOfWeek(sdate)==1 and DayOfWeek(sdate[1])==5 and data2(DayOfWeek(sdate))==5 and data2(DayOfWeek(sdate[1]))==4) or (DayOfWeek(sdate)==2 and DayOfWeek(sdate[1])==1 and data2(DayOfWeek(sdate))==1 and data2(DayOfWeek(sdate[1]))==5) or (DayOfWeek(sdate)==3 and DayOfWeek(sdate[1])==2 and data2(DayOfWeek(sdate))==2 and data2(DayOfWeek(sdate[1]))==1) or (DayOfWeek(sdate)==4 and DayOfWeek(sdate[1])==3 and data2(DayOfWeek(sdate))==3 and data2(DayOfWeek(sdate[1]))==2) or (DayOfWeek(sdate)==5 and DayOfWeek(sdate[1])==4 and data2(DayOfWeek(sdate))==4 and data2(DayOfWeek(sdate[1]))==3) then Condition1 = true; else Condition1 = false; } 이상과 같이 작성을 하였는데, 수식 에러는 없는데 수식에서 조건문을 인식하지 못합니다. 어느 부분이 잘못인지 수정 부탁드립니다. ----------------------------------------- 실제로 제가 수식으로 구현하고 싶은 것은 다음과 같습니다. 국내증시 및 미국증시 모두 토요일과 일요일을 제외하고, 국내증시의 당일과 전일이 공휴일없이 이틀연속 거래가 되고 AND 미국증시의 data2와 data2[1]이 공휴일없이 이틀연속 거래가 되었다면, condition1=true 그렇지 않으면 false (참고로 현재 YT에서 국내증시 또는 data2인 미국증시가 공휴일인 경우는 분봉챠트없이 공란으로 표시되고 있습니다) If DateToJulian(sdate[1])==data2(DateToJulian(sdate)) and DateToJulian(sdate[2])==data2(DateToJulian(sdate[1])) Then Condition1 = true; Else Condition1 = false; 위의 방법이 안되어 이렇게도 작성을 해보았는데, 이경우는 조건문을 인식하기는 하나 조건문을 주었을 경우와 생략하였을 경우 모두 동일한 결과값을 보입니다. ------------------------------- 제가 실제로 구현하고 싶은 조건문이 되도록 수정 또는 새로 작성해주시면 감사하겠습니다. 그럼 부탁드리겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-01-03 13:26:30

안녕하세요 예스스탁입니다. 2개의 데이터가 서로 시작하는 시점이 다를 수 있습니다. 아래와 같이 작성하시면 됩니다. var : cond1(false,data1),cond2(false,data2); if data1(date != date[1]) Then{ if data1(DayOfWeek(sdate)== 1 and DayOfWeek(sdate[1])== 5) or data1(DayOfWeek(sdate)== 2 and DayOfWeek(sdate[1])== 1) or data1(DayOfWeek(sdate)== 3 and DayOfWeek(sdate[1])== 2) or data1(DayOfWeek(sdate)== 4 and DayOfWeek(sdate[1])== 3) or data1(DayOfWeek(sdate)== 5 and DayOfWeek(sdate[1])== 4) Then cond1 = true; Else cond1 = false; } if data2(date != date[1]) Then{ if data2(DayOfWeek(sdate)== 1 and DayOfWeek(sdate[1])== 5) or data2(DayOfWeek(sdate)== 2 and DayOfWeek(sdate[1])== 1) or data2(DayOfWeek(sdate)== 3 and DayOfWeek(sdate[1])== 2) or data2(DayOfWeek(sdate)== 4 and DayOfWeek(sdate[1])== 3) or data2(DayOfWeek(sdate)== 5 and DayOfWeek(sdate[1])== 4) Then cond2 = true; Else cond2 = False; } if cond1 == true and cond2 == true Then 즐거운 하루되세요 > 새로운세상 님이 쓴 글입니다. > 제목 : 국내증시 및 미국증시 일별조건 > 새해 복 많이 받으세요~ 지난 한해 답변을 통하여 많은 도움을 받았습니다. 감사하다는 말씀 드립니다. --------------- 수식 하나 작성을 하였는데, 어느 부분이 잘못인지 수정 부탁드립니다. 수식이 복잡해 보이는데 간략히 설명을 드리면 다음과 같습니다. * 주데이타 연결선물, data2 다우지수 입니다. (2가지 모두 분봉기준) 1) 당일 국내증시가 '월요일'이고 직전거래일이 '금요일'이고 and data2가 '금요일'이고 data2[1]이 '목요일'이면 2) 당일 국내증시가 '화요일'이고 직전거래일이 '월요일'이고 and data2가 '월요일'이고 data2[1]이 '금요일'이면 3) 당일 국내증시가 '수요일'이고 직전거래일이 '화요일'이고 and data2가 '화요일'이고 data2[1]이 '월요일'이면 4) 당일 국내증시가 '목요일'이고 직전거래일이 '수요일'이고 and data2가 '수요일'이고 data2[1]이 '화요일'이면 5) 당일 국내증시가 '금요일'이고 직전거래일이 '목요일'이고 and data2가 '목요일'이고 data2[1]이 '수요일'이면 5개 조건중 하나를 만족하면 true 아니면 false If date!=date[1] and data2(date)!=data2(date[1]) Then { if (DayOfWeek(sdate)==1 and DayOfWeek(sdate[1])==5 and data2(DayOfWeek(sdate))==5 and data2(DayOfWeek(sdate[1]))==4) or (DayOfWeek(sdate)==2 and DayOfWeek(sdate[1])==1 and data2(DayOfWeek(sdate))==1 and data2(DayOfWeek(sdate[1]))==5) or (DayOfWeek(sdate)==3 and DayOfWeek(sdate[1])==2 and data2(DayOfWeek(sdate))==2 and data2(DayOfWeek(sdate[1]))==1) or (DayOfWeek(sdate)==4 and DayOfWeek(sdate[1])==3 and data2(DayOfWeek(sdate))==3 and data2(DayOfWeek(sdate[1]))==2) or (DayOfWeek(sdate)==5 and DayOfWeek(sdate[1])==4 and data2(DayOfWeek(sdate))==4 and data2(DayOfWeek(sdate[1]))==3) then Condition1 = true; else Condition1 = false; } 이상과 같이 작성을 하였는데, 수식 에러는 없는데 수식에서 조건문을 인식하지 못합니다. 어느 부분이 잘못인지 수정 부탁드립니다. ----------------------------------------- 실제로 제가 수식으로 구현하고 싶은 것은 다음과 같습니다. 국내증시 및 미국증시 모두 토요일과 일요일을 제외하고, 국내증시의 당일과 전일이 공휴일없이 이틀연속 거래가 되고 AND 미국증시의 data2와 data2[1]이 공휴일없이 이틀연속 거래가 되었다면, condition1=true 그렇지 않으면 false (참고로 현재 YT에서 국내증시 또는 data2인 미국증시가 공휴일인 경우는 분봉챠트없이 공란으로 표시되고 있습니다) If DateToJulian(sdate[1])==data2(DateToJulian(sdate)) and DateToJulian(sdate[2])==data2(DateToJulian(sdate[1])) Then Condition1 = true; Else Condition1 = false; 위의 방법이 안되어 이렇게도 작성을 해보았는데, 이경우는 조건문을 인식하기는 하나 조건문을 주었을 경우와 생략하였을 경우 모두 동일한 결과값을 보입니다. ------------------------------- 제가 실제로 구현하고 싶은 조건문이 되도록 수정 또는 새로 작성해주시면 감사하겠습니다. 그럼 부탁드리겠습니다.