커뮤니티

휴장일 제외 제어수식 (재질문)

프로필 이미지
새로운세상
2010-12-07 11:39:54
503
글번호 34121
답변완료
안녕하세요.. 얼마전 답변주신 내용이 질문과 맞는 것인지 확인 부탁드립니다. << 지난번 질문 내용 >> 분봉을 기준으로 if C > ma(C,20) then Buy(); if C < ma(C,20) then Sell(); 라는 시스템이 있다고 할 때 토요일과 일요일은 정상 영업일이 아니므로 당연히 제외되고 월~금요일 기간중 전일이 정상 영업일이 아닌 휴장일이었을 때 당일 매매를 제외하고자 하면 어떻게 수식을 작성해야 하는지요? 바꿔서 말씀드리면 토요일과 일요일 제외 + 월~금요일중 전일에 시장이 열리지 않았다면(월~금 정상영업일중 전일 아무런 봉이 형성되지 않았다면) 당일은 매매가 없다는 의미입니다. << 예스스탁에서 주신 답변 >> if date != date[1] Then{ if DayOfWeek(sdate) >= 2 and DateToJulian(sdate) > DateToJulian(sdate[1])+1 Then Condition1 = true; Else Condition1 = false; } if Condition1 == false Then{ if C > ma(C,20) then Buy(); if C < ma(C,20) then Sell(); } << 궁금한 점 >> 1) DayOfWeek(sdate) >= 2 라는 조건이면 당일이 '화요일'이후이므로 당일이 '월요일'인 경우 '지난주 금요일'과의 비교가 누락된 것이 아닌지요? 2) DateToJulian(sdate) > DateToJulian(sdate[1])+1 라는 조건은 숫자로 변환된 '당일 > 전일+1'의 개념이므로, 원래 질문대로 수식을 작성한다면 DateToJulian(sdate) = DateToJulian(sdate[1])+1 로 하여야 맞는지요? 3) if Condition1 == false Then{ if C > ma(C,20) then Buy(); if C < ma(C,20) then Sell(); } 에서 Condition1 == false 상태라는 것은 DayOfWeek(sdate) < 2 or DateToJulian(sdate) <= DateToJulian(sdate[1])+1 의 경우가 될 것 같은데 , 제가 질문드린 조건과 맞는 것인지 궁금합니다. 위의 내용을 참조하시여서 원래 질문과 수식이 맞는지 다시 한번 검토 부탁드립니다. 아울러 Condition1 == false 조건에서 매수매도 진입이 헷갈려서(^^;;) 그러는데, 만약 새로 수식을 작성해주신다면 Condition1 == true 일 때 진입하는 수식으로 Condition1 부분을 작성해 주시면 많은 도움이 되겠습니다. 번거롭게 재질문 드려서 죄송하지만, 염치불구하고 다시 한번 질문드렸습니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-12-07 15:36:48

안녕하세요 예스스탁입니다. 1. 월요일에는 금요일휴일 관계없이 무조건 신호발생하는것으로 판단했습니다. 월요일은 금요일과 비교하는 내용을 추가했습니다. 2. 해당 식은 condition1이 false일때만 들어가게 됩니다. 전일 휴일이면 true값이 할당됩니다. 전일이 휴일이면 즉 차트상 전일날짜보다 오늘이 2일이상 지난경우에 true를 할당하기 위함입니다. DateToJulian(sdate) > DateToJulian(sdate[1])+1 이 맞습니다. 3. DayOfWeek(sdate) >= 2 and DateToJulian(sdate) > DateToJulian(sdate[1])+1 위 조건이 만족하지 않는 모든 경우는 false이므로 DayOfWeek(sdate) < 2 or DateToJulian(sdate) <= DateToJulian(sdate[1])+1 이 맞습니다. 4. true와 false를 바꾼식입니다. 월요일은 금요일과 비교하는 내용을 추가했습니다. if date != date[1] Then{ if (DayOfWeek(sdate) >= 2 and DateToJulian(sdate) > DateToJulian(sdate[1])+1) Or (DayOfWeek(sdate) == 1 and DayOfWeek(sdate[1]) != 5) Then Condition1 = False; Else Condition1 = true; } if Condition1 == true Then{ if C > ma(C,20) then Buy(); if C < ma(C,20) then Sell(); } 즐거운 하루되세요 > 새로운세상 님이 쓴 글입니다. > 제목 : 휴장일 제외 제어수식 (재질문) > 안녕하세요.. 얼마전 답변주신 내용이 질문과 맞는 것인지 확인 부탁드립니다. << 지난번 질문 내용 >> 분봉을 기준으로 if C > ma(C,20) then Buy(); if C < ma(C,20) then Sell(); 라는 시스템이 있다고 할 때 토요일과 일요일은 정상 영업일이 아니므로 당연히 제외되고 월~금요일 기간중 전일이 정상 영업일이 아닌 휴장일이었을 때 당일 매매를 제외하고자 하면 어떻게 수식을 작성해야 하는지요? 바꿔서 말씀드리면 토요일과 일요일 제외 + 월~금요일중 전일에 시장이 열리지 않았다면(월~금 정상영업일중 전일 아무런 봉이 형성되지 않았다면) 당일은 매매가 없다는 의미입니다. << 예스스탁에서 주신 답변 >> if date != date[1] Then{ if DayOfWeek(sdate) >= 2 and DateToJulian(sdate) > DateToJulian(sdate[1])+1 Then Condition1 = true; Else Condition1 = false; } if Condition1 == false Then{ if C > ma(C,20) then Buy(); if C < ma(C,20) then Sell(); } << 궁금한 점 >> 1) DayOfWeek(sdate) >= 2 라는 조건이면 당일이 '화요일'이후이므로 당일이 '월요일'인 경우 '지난주 금요일'과의 비교가 누락된 것이 아닌지요? 2) DateToJulian(sdate) > DateToJulian(sdate[1])+1 라는 조건은 숫자로 변환된 '당일 > 전일+1'의 개념이므로, 원래 질문대로 수식을 작성한다면 DateToJulian(sdate) = DateToJulian(sdate[1])+1 로 하여야 맞는지요? 3) if Condition1 == false Then{ if C > ma(C,20) then Buy(); if C < ma(C,20) then Sell(); } 에서 Condition1 == false 상태라는 것은 DayOfWeek(sdate) < 2 or DateToJulian(sdate) <= DateToJulian(sdate[1])+1 의 경우가 될 것 같은데 , 제가 질문드린 조건과 맞는 것인지 궁금합니다. 위의 내용을 참조하시여서 원래 질문과 수식이 맞는지 다시 한번 검토 부탁드립니다. 아울러 Condition1 == false 조건에서 매수매도 진입이 헷갈려서(^^;;) 그러는데, 만약 새로 수식을 작성해주신다면 Condition1 == true 일 때 진입하는 수식으로 Condition1 부분을 작성해 주시면 많은 도움이 되겠습니다. 번거롭게 재질문 드려서 죄송하지만, 염치불구하고 다시 한번 질문드렸습니다. 감사합니다.