커뮤니티
선물만기일 청산
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일전 차트가 띄워있어야만 하나요? 아니면 오늘 차트만 있어도 참조가 되는것인가요?
다음글