커뮤니티
종가 청산 하는 방법을 알고 싶습니다.
2007-03-26 10:16:20
1368
글번호 12186
안녕하세요. 바쁘신지 몇일째 답이 올라오질 않네요.. 이 답도 언제 올라올진 모르지만 우선을 올립니다.
우리가 흔히 종가 청산하는 방법을 stime==151500 이렇게 쓰거나,
setstopendofday(151500); 이런 명령어를 이용하여 쓰는데
제가 데이트레이딩을 하던중. 2006년 3월 9일 목요일.. 이유는 모르지만 장이 2시 45분에 끝났더라구요.
그럼 매일 진입하고 종가에 청산하는 시스템이 청산을 못하고 다음날 아침에 청산과 동시에 진입이 되더라구요..
이런 모습이 좋은 현상같아 보이진 않은데요..
stime이나 setstopendofday(151500)를 이용하지 않아도 그날의 종가에 청산되게 하는 방법은 머가 있나요?
답변 3
예스스탁 예스스탁 답변
2007-03-26 17:20:16
안녕하세요
예스스탁입니다.
만기일이나 혹은 기타의 이유로 정상적인 시간 전이나 혹은 후에
장이 마감되는 날은 사용자 분이 인지하셔서
청산의 시간을 조정해 주셔야 합니다.
참고하시기 바랍니다.
> 열 님이 쓴 글입니다.
> 제목 : 종가 청산 하는 방법을 알고 싶습니다.
> 안녕하세요. 바쁘신지 몇일째 답이 올라오질 않네요.. 이 답도 언제 올라올진 모르지만 우선을 올립니다.
우리가 흔히 종가 청산하는 방법을 stime==151500 이렇게 쓰거나,
setstopendofday(151500); 이런 명령어를 이용하여 쓰는데
제가 데이트레이딩을 하던중. 2006년 3월 9일 목요일.. 이유는 모르지만 장이 2시 45분에 끝났더라구요.
그럼 매일 진입하고 종가에 청산하는 시스템이 청산을 못하고 다음날 아침에 청산과 동시에 진입이 되더라구요..
이런 모습이 좋은 현상같아 보이진 않은데요..
stime이나 setstopendofday(151500)를 이용하지 않아도 그날의 종가에 청산되게 하는 방법은 머가 있나요?
수식지왕
2007-03-27 18:14:59
제 홈피에 게시했던 내용을 편집해서 올립니다.
======================================================================
예스트레이더에서 사용되는 당일 청산 방법은 시스템적용시 강제청산 탭에서 시간을 입력하거나 수식에서 시스템함수로 시간을 지정하는 두가지가 있습니다. 이들 방법에 대해 결점이 있는데 최종거래일이나 또는 장종료 시간이 연장된 경우 당초 의도하였던 시점이 아닌 곳에서 청산되는 것이 그것입니다.
질문자의 3월 9일도 최종거래일이었기 때문에 발생하였습니다.
이에 대한 보완으로 장종료 시각을 입력하지 않고 장종료 3봉전에 당일 청산하게 할 수 있다면 어떨까 하는 생각에서 나온 것이 장종료 n봉전 시간을 계산하는 사용자함수입니다.
장종료 시간은 거의 변동이 없으며 선물,옵션 종목의 경우 최종거래일에 한해 장종료 시간이 앞당겨집니다. 최종거래일 대상일이 휴일일 경우에는 수식으로 커버할 수 없으므로 사용자가 개입되어야 합니다.
11월 수능일이 되면 장개시를 10시에 하기 때문에 장종료 시간도 1시간씩 늦춰지는데 이는 규칙이 있기 때문에 수식으로 해결 가능합니다.
그 외 시장의 문제로 인해 장종료시간이 변동될 수 있지만 그런 예외적인 사항까진 계산해 낼 수 없습니다.
① 현물종목의 장종료 : 15:00
② 선물,옵션 종목의 장종료 : 15:15
③ 선물,옵션 종목의 최종거래일 장종료 : 14:50
④ 수능일 : 1시간 연장
최종으로 계산하고자하는 시간은 ①~④의 장종료 시간에서 n봉의 시간값을 차감하여 구합니다.
(사용자함수) _CloseTimeN.yfu
--------------------------------------------------------------------------------
Input:n(numeric);
Var:월(0),일(0),장종료(0);
월 = int(Date/100)-int(Date/10000)*100;
일 = Date - int(Date/100)*100;
if CodeCategory() < 4 then
장종료 = 900;
else if ((월 % 3 == 0 and CodeCategory() == 4) or CodeCategory() >= 6)
and 일 >= 8 and 일 <= 14 and DayOfWeek(Date) == 4 then
장종료 = 890;
else
장종료 = 915;
if DayIndex()==0 then
var1 = TimeToMinutes(sTime);
if var1 == 600 and 월 == 11 then //수능일. 보통 11월에 수능이 있다
장종료 = 장종료 + 60;
var2 = 장종료 - n * BarInterval();
_CloseTimeN = MinutesToTime(var2);
--------------------------------------------------------------------------------
시스템식에서 불러 사용할 경우 아래와 같이 사용하면 됩니다.
(시스템식) 당일청산_연습.ysg
--------------------------------------------------------------------------------
Input:n(4);
if DayIndex() == 18 then {
if H[DayIndex()] < C then Buy();
if L[DayIndex()] > C then Sell();
}
if sTime > _CloseTimeN(n) then {
ExitLong();
ExitShort();
}
--------------------------------------------------------------------------------
첨부 그림참조하세요
> 열 님이 쓴 글입니다.
> 제목 : 종가 청산 하는 방법을 알고 싶습니다.
> 안녕하세요. 바쁘신지 몇일째 답이 올라오질 않네요.. 이 답도 언제 올라올진 모르지만 우선을 올립니다.
우리가 흔히 종가 청산하는 방법을 stime==151500 이렇게 쓰거나,
setstopendofday(151500); 이런 명령어를 이용하여 쓰는데
제가 데이트레이딩을 하던중. 2006년 3월 9일 목요일.. 이유는 모르지만 장이 2시 45분에 끝났더라구요.
그럼 매일 진입하고 종가에 청산하는 시스템이 청산을 못하고 다음날 아침에 청산과 동시에 진입이 되더라구요..
이런 모습이 좋은 현상같아 보이진 않은데요..
stime이나 setstopendofday(151500)를 이용하지 않아도 그날의 종가에 청산되게 하는 방법은 머가 있나요?
열
2007-03-28 11:37:29
이렇게 읽고 답해주셔서 고맙습니다.. ^^
> 수식지왕 님이 쓴 글입니다.
> 제목 : Re : 종가 청산 하는 방법을 알고 싶습니다.
> 제 홈피에 게시했던 내용을 편집해서 올립니다.
======================================================================
예스트레이더에서 사용되는 당일 청산 방법은 시스템적용시 강제청산 탭에서 시간을 입력하거나 수식에서 시스템함수로 시간을 지정하는 두가지가 있습니다. 이들 방법에 대해 결점이 있는데 최종거래일이나 또는 장종료 시간이 연장된 경우 당초 의도하였던 시점이 아닌 곳에서 청산되는 것이 그것입니다.
질문자의 3월 9일도 최종거래일이었기 때문에 발생하였습니다.
이에 대한 보완으로 장종료 시각을 입력하지 않고 장종료 3봉전에 당일 청산하게 할 수 있다면 어떨까 하는 생각에서 나온 것이 장종료 n봉전 시간을 계산하는 사용자함수입니다.
장종료 시간은 거의 변동이 없으며 선물,옵션 종목의 경우 최종거래일에 한해 장종료 시간이 앞당겨집니다. 최종거래일 대상일이 휴일일 경우에는 수식으로 커버할 수 없으므로 사용자가 개입되어야 합니다.
11월 수능일이 되면 장개시를 10시에 하기 때문에 장종료 시간도 1시간씩 늦춰지는데 이는 규칙이 있기 때문에 수식으로 해결 가능합니다.
그 외 시장의 문제로 인해 장종료시간이 변동될 수 있지만 그런 예외적인 사항까진 계산해 낼 수 없습니다.
① 현물종목의 장종료 : 15:00
② 선물,옵션 종목의 장종료 : 15:15
③ 선물,옵션 종목의 최종거래일 장종료 : 14:50
④ 수능일 : 1시간 연장
최종으로 계산하고자하는 시간은 ①~④의 장종료 시간에서 n봉의 시간값을 차감하여 구합니다.
(사용자함수) _CloseTimeN.yfu
--------------------------------------------------------------------------------
Input:n(numeric);
Var:월(0),일(0),장종료(0);
월 = int(Date/100)-int(Date/10000)*100;
일 = Date - int(Date/100)*100;
if CodeCategory() < 4 then
장종료 = 900;
else if ((월 % 3 == 0 and CodeCategory() == 4) or CodeCategory() >= 6)
and 일 >= 8 and 일 <= 14 and DayOfWeek(Date) == 4 then
장종료 = 890;
else
장종료 = 915;
if DayIndex()==0 then
var1 = TimeToMinutes(sTime);
if var1 == 600 and 월 == 11 then //수능일. 보통 11월에 수능이 있다
장종료 = 장종료 + 60;
var2 = 장종료 - n * BarInterval();
_CloseTimeN = MinutesToTime(var2);
--------------------------------------------------------------------------------
시스템식에서 불러 사용할 경우 아래와 같이 사용하면 됩니다.
(시스템식) 당일청산_연습.ysg
--------------------------------------------------------------------------------
Input:n(4);
if DayIndex() == 18 then {
if H[DayIndex()] < C then Buy();
if L[DayIndex()] > C then Sell();
}
if sTime > _CloseTimeN(n) then {
ExitLong();
ExitShort();
}
--------------------------------------------------------------------------------
첨부 그림참조하세요
> 열 님이 쓴 글입니다.
> 제목 : 종가 청산 하는 방법을 알고 싶습니다.
> 안녕하세요. 바쁘신지 몇일째 답이 올라오질 않네요.. 이 답도 언제 올라올진 모르지만 우선을 올립니다.
우리가 흔히 종가 청산하는 방법을 stime==151500 이렇게 쓰거나,
setstopendofday(151500); 이런 명령어를 이용하여 쓰는데
제가 데이트레이딩을 하던중. 2006년 3월 9일 목요일.. 이유는 모르지만 장이 2시 45분에 끝났더라구요.
그럼 매일 진입하고 종가에 청산하는 시스템이 청산을 못하고 다음날 아침에 청산과 동시에 진입이 되더라구요..
이런 모습이 좋은 현상같아 보이진 않은데요..
stime이나 setstopendofday(151500)를 이용하지 않아도 그날의 종가에 청산되게 하는 방법은 머가 있나요?