커뮤니티

선물만기일 청산

프로필 이미지
쉬어가자
2012-09-05 21:26:41
325
글번호 54415
답변완료
(질문1) 만기일청산을 위하여 Q&A 게시판에 올려진대로 아래와 같이 식을 만들어 사용하여 보았으나 시뮬레이션 결과 만기일에 청산이 안되고 포지션이 다음날까지 이월되는데 그 이유를 모르겠습니다. 디버깅하여 condition99의 값을 확인하니 만기일에 true로 나오는데도 불구하고 청산은 없네요...청산시간을 144500, 144000 등으로 변경해보아도 마찬가지로 청산은 안되네요.... 다른 날은 제대로 청산이 이루어집니다. 자동매매 시작 후 처음 맞는 만기일이 다음주인데,,,,,,불안하군요. 원인를 가르쳐주세요... var : va1(0),va2(0),va3(0); //선물 만기일 ############################################################## 당일청산 및 만기일 va1 = int(date/100)-int(date/10000)*100; //월 va2 = date - int(date/100)*100; //일 va3 = DayOfWeek(date); //요일 if va1%3 == 0 and // 3,6,9,12월이고 va2 >= 8 and va2 <= 14 and // 8일에서 14일 사이이고 va3 == 4 then // 목요일 Condition99 = True; Else Condition99 = False; if Condition99 == true Then SetStopEndofday(143500); if Condition99 == false Then SetStopEndofday(145000); messageLog ("dayindex %.f cond99 %s ", dayindex, condition99 ); (질문2) highD 등 일간 데이타를 사용할 때, 예를들어 HighD(10) 을 수식에 넣을 경우 현재 차트에 10일전 차트가 띄워있어야만 하나요? 아니면 오늘 차트만 있어도 참조가 되는것인가요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-09-06 09:55:20

안녕하세요 예스스탁입니다. 해당식 차트에 적용해 보았지만 정상적으로 선물만기일 마다 신호가 모두 발생합니다. 다만 해당식은 수식으로 만기일을 판단하는 것이므로 휴일등의 이유로 만기일이 당겨진 경우에는 알수 없습니다. 만기일 청산의 경우 올리신 식을 사용하시는 분도 계시고 아래와 같이 날짜를 지정해서 사용하는 분들도 계십니다. 2012년 까지만 날짜가 지정된 식입니다. if sdate == 20000309 or sdate == 20000608 or sdate == 20000914 or sdate == 20001214 or sdate == 20010308 or sdate == 20010614 or sdate == 20010913 or sdate == 20011213 or sdate == 20020314 or sdate == 20020612 // 2002년 지방선거(-1) or sdate == 20020912 or sdate == 20021212 or sdate == 20030313 or sdate == 20030612 or sdate == 20030909 // 추석(-2) or sdate == 20031211 or sdate == 20040311 or sdate == 20040610 or sdate == 20040909 or sdate == 20041209 or sdate == 20050310 or sdate == 20050609 or sdate == 20050908 or sdate == 20051208 or sdate == 20060309 or sdate == 20060608 or sdate == 20060914 or sdate == 20061214 or sdate == 20070308 or sdate == 20070614 or sdate == 20070913 or sdate == 20071213 or sdate == 20080313 or sdate == 20080612 or sdate == 20080911 or sdate == 20081211 or sdate == 20090312 or sdate == 20090611 or sdate == 20090910 or sdate == 20091210 or sdate == 20100311 or sdate == 20100610 or sdate == 20100909 or sdate == 20101209 or sdate == 20110310 or sdate == 20110609 or sdate == 20110908 or sdate == 20111208 or sdate == 20120308 or sdate == 20120614 or sdate == 20120913 or sdate == 20121213 Then SetStopEndofday(143500); Else SetStopEndofday(145000); 즐거운 하루되세요 > 쉬어가자 님이 쓴 글입니다. > 제목 : 선물만기일 청산 > (질문1) 만기일청산을 위하여 Q&A 게시판에 올려진대로 아래와 같이 식을 만들어 사용하여 보았으나 시뮬레이션 결과 만기일에 청산이 안되고 포지션이 다음날까지 이월되는데 그 이유를 모르겠습니다. 디버깅하여 condition99의 값을 확인하니 만기일에 true로 나오는데도 불구하고 청산은 없네요...청산시간을 144500, 144000 등으로 변경해보아도 마찬가지로 청산은 안되네요.... 다른 날은 제대로 청산이 이루어집니다. 자동매매 시작 후 처음 맞는 만기일이 다음주인데,,,,,,불안하군요. 원인를 가르쳐주세요... var : va1(0),va2(0),va3(0); //선물 만기일 ############################################################## 당일청산 및 만기일 va1 = int(date/100)-int(date/10000)*100; //월 va2 = date - int(date/100)*100; //일 va3 = DayOfWeek(date); //요일 if va1%3 == 0 and // 3,6,9,12월이고 va2 >= 8 and va2 <= 14 and // 8일에서 14일 사이이고 va3 == 4 then // 목요일 Condition99 = True; Else Condition99 = False; if Condition99 == true Then SetStopEndofday(143500); if Condition99 == false Then SetStopEndofday(145000); messageLog ("dayindex %.f cond99 %s ", dayindex, condition99 ); (질문2) highD 등 일간 데이타를 사용할 때, 예를들어 HighD(10) 을 수식에 넣을 경우 현재 차트에 10일전 차트가 띄워있어야만 하나요? 아니면 오늘 차트만 있어도 참조가 되는것인가요?