커뮤니티
국내증시 및 미국증시 일별조건
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;
위의 방법이 안되어 이렇게도 작성을 해보았는데,
이경우는 조건문을 인식하기는 하나
조건문을 주었을 경우와 생략하였을 경우 모두 동일한 결과값을 보입니다.
-------------------------------
제가 실제로 구현하고 싶은 조건문이 되도록 수정 또는 새로 작성해주시면
감사하겠습니다.
그럼 부탁드리겠습니다.