커뮤니티

수식 부탁드립니다.

프로필 이미지
캣피쉬
2023-02-09 18:02:08
793
글번호 166155
답변완료
예전에 문의로 작성해주신겁니다. 월물 만기주의 월화수목 그리고 만기전주의 금요일 5개 날짜를 표시해주는겁니다. 여기서 문제가 2/9일 9:00 에는 순간적으로 조건이 풀리는 상황이 있습니다. (condiw=1 로 표기되지 않는 현상) 매월 만기일이 그렇습니다. 방법 있을지 궁금합니다. 감사합니다. ------------------------------------------------------------------------ var : entry(0,Data1); var : month(0),nday(0),week(0),TL(0); var : condiw(0); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; Week = DayOfWeek(date); if sDate != sDate[1] Then { condiw = 0; } if nday >= 8 and nday <= 14 and week == 4 and sTime >= 90000 and sTime[1] < 90100 Then condiw=1; else if nday >= 7 and nday <= 13 and week == 3 Then condiw=1; else if nday >= 6 and nday <= 12 and week == 2 Then condiw=1; else if nday >= 5 and nday <= 11 and week == 1 Then condiw=1; #else if nday >= 4 and nday <= 10 and week == 5 Then condiw=1; else if nday >= 2 and nday <= 8 and week == 5 Then condiw=1; Else condiw ==0; Plot1(condiw);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-02-10 09:32:35

안녕하세요 예스스탁입니다. sTime >= 90000 and sTime[1] < 90100 위 조건이 당일 두번째봉 이후에 성립됩니다. 현재시간은 9시 이후인데 전봉의 시간은 9시1분보다 작다라는 내용입니다. 만기일은 첫봉에만 표시할 내용이시면 sdate != sdate[1]로 지정하시면 됩니다. 해당 조건을 없애면 만기일날 장종료가지 1입니다. var : entry(0,Data1); var : month(0),nday(0),week(0),TL(0); var : condiw(0); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; Week = DayOfWeek(date); if sDate != sDate[1] Then { condiw = 0; } if nday >= 8 and nday <= 14 and week == 4 and sdate != sDate[1] Then condiw=1; else if nday >= 7 and nday <= 13 and week == 3 Then condiw=1; else if nday >= 6 and nday <= 12 and week == 2 Then condiw=1; else if nday >= 5 and nday <= 11 and week == 1 Then condiw=1; #else if nday >= 4 and nday <= 10 and week == 5 Then condiw=1; else if nday >= 2 and nday <= 8 and week == 5 Then condiw=1; Else condiw = 0; Plot1(condiw); 즐거운 하루되세요 > 캣피쉬 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 예전에 문의로 작성해주신겁니다. 월물 만기주의 월화수목 그리고 만기전주의 금요일 5개 날짜를 표시해주는겁니다. 여기서 문제가 2/9일 9:00 에는 순간적으로 조건이 풀리는 상황이 있습니다. (condiw=1 로 표기되지 않는 현상) 매월 만기일이 그렇습니다. 방법 있을지 궁금합니다. 감사합니다. ------------------------------------------------------------------------ var : entry(0,Data1); var : month(0),nday(0),week(0),TL(0); var : condiw(0); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; Week = DayOfWeek(date); if sDate != sDate[1] Then { condiw = 0; } if nday >= 8 and nday <= 14 and week == 4 and sTime >= 90000 and sTime[1] < 90100 Then condiw=1; else if nday >= 7 and nday <= 13 and week == 3 Then condiw=1; else if nday >= 6 and nday <= 12 and week == 2 Then condiw=1; else if nday >= 5 and nday <= 11 and week == 1 Then condiw=1; #else if nday >= 4 and nday <= 10 and week == 5 Then condiw=1; else if nday >= 2 and nday <= 8 and week == 5 Then condiw=1; Else condiw ==0; Plot1(condiw);