커뮤니티
재질문
2012-09-07 09:59:55
249
글번호 54468
2번 질문에 대한 답변이 없습니다.
Re : 선물만기일 청산
안녕하세요
예스스탁입니다.
해당식 차트에 적용해 보았지만 정상적으로 선물만기일 마다
신호가 모두 발생합니다.
다만 해당식은 수식으로 만기일을 판단하는 것이므로
휴일등의 이유로 만기일이 당겨진 경우에는 알수 없습니다.
만기일 청산의 경우 올리신 식을 사용하시는 분도 계시고
아래와 같이 날짜를 지정해서 사용하는 분들도 계십니다.
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일전 차트가 띄워있어야만 하나요? 아니면 오늘 차트만 있어도 참조가 되는것인가요?
답변 1
예스스탁 예스스탁 답변
2012-09-07 10:57:07
안녕하세요
예스스타입니다.
highD,LowD,OpenD,CloseD함수는
차트에 조회된 봉을 기준으로 값을 만들어 가므로
차트에 10일전의 차트가 없으면 10일전 값을 알수가 없습니다.
dayhigh/daylow/dayclose/dayopen은 차트상 첫봉의 날짜 +이전 99일 데이터가
내부적으로 제공되므로 차트에 없는 기간의 일간시고저종가는
day~함수를 이용하셔야 합니다.
다만 day함수는 주종목의 값만 리턴합니다.
참조데이터에서는 highD,LowD,OpenD,CloseD함수를 이용하셔야 하며
차트에 없는 기간값은 알수 없습니다.
즐거운 하루되세요
> 쉬어가자 님이 쓴 글입니다.
> 제목 : 재질문
> 2번 질문에 대한 답변이 없습니다.
Re : 선물만기일 청산
안녕하세요
예스스탁입니다.
해당식 차트에 적용해 보았지만 정상적으로 선물만기일 마다
신호가 모두 발생합니다.
다만 해당식은 수식으로 만기일을 판단하는 것이므로
휴일등의 이유로 만기일이 당겨진 경우에는 알수 없습니다.
만기일 청산의 경우 올리신 식을 사용하시는 분도 계시고
아래와 같이 날짜를 지정해서 사용하는 분들도 계십니다.
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일전 차트가 띄워있어야만 하나요? 아니면 오늘 차트만 있어도 참조가 되는것인가요?