커뮤니티
주봉의 종목검색에서 상한가 하한가를 알아내는 방법이 있나요?
2011-11-28 09:16:50
619
글번호 45198
주식 종목검색에서 각종목마다 특정계산을 해서 숫자가 하나씩 나오는데요. 이 숫자가
오늘장중에 오늘의 가능한 상한가 하한가 내에 있으면 그 종목을 출력하고 그외 영역에 있으면 오늘은 가능성이 전혀 없는 종목이니 출력을 안하면 되는데요.
문제는 주봉이라서요. dayclose도 안먹고 난감하네요.
혹시 방법이 있으면 알려주세요.
내장 함수들을 많이 써서리 일봉으로 풀어서 대응하라고 하시면 거의 재앙수준입니다 ㅡㅡ
PS. 주봉엔 지원안하는게 꽤 많네요. ㅡㅡ
버그도 꽤 있었구요.... ( 예전에 주봉 종목검색에 수정주가 적용안되는 문제하고, 미국 주식 종목검색에 거래량관련 오동작했던것 제가 지적했었습니다 )
주봉도 신경좀 써주시면 좋겠어요.
답변 7
예스스탁 예스스탁 답변
2011-11-28 11:49:44
안녕하세요
예스스탁입니다.
dayclose만 사용하신 다면 당일 종가이므로 C로 표현하시면 됩니다.
C는 현재 주의 최종가이고 당일의 최종가이므로
dayclose가 아닌 C를 사용하시면 되며
만약 이전일의 종가값을 이용하신 다면 주봉에서는 가능하지 않습니다.
말씀하신 바와 같이 일봉에서 풀어작성하셔야 합니다.
상한가 하한가 계산식은 baseprice를 이용하므로
아래식을 이용하시면 되며 검색주기와는 관계없이
상한가,하한가는 당일 상한가,하한가 입니다.
마찬가지로 전일등 일간상 값으로 이전일은 주봉에서 계산되지 않습니다
var : 하한가(0), DnLimit(0);
var : dn1(0), dn2(0), dn3(0), dn4(0), dn5(0),dn6(0);
var : 상한가(0), UpLimit(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0);
if date >= 19981207 then { //거래소 98년 12월7일 가격제한폭 15%로 확대 변경됨
if date < 20050328 && CodeCategory() == 2 then //코스닥 2005년 3월28일 이전은 가격제한폭 12%
DnLimit = (BP * 0.12);
Else //코스닥 2005년 3월28일 이후 및 거래소98년12월 7일이후 15%
DnLimit = (BP * 0.15);
if CodeCategory() == 2 then { //코스닥 호가단위 ( 2003년 7월21일에 호가 단위 변경됨)
if date >= 20030721 then {
dn1 = int(DnLimit/100)*100; // 500,000원 이상의 하한가 호가
dn2 = int(DnLimit/100)*100; // 100,000원 이상 ~ 500,000원 미만의 하한가 호가
dn3 = int(DnLimit/100)*100; // 50,000원 이상 ~ 100,000원 미만의 하한가 호가
dn4 = int(DnLimit/50)*50; // 10,000원 이상 ~ 50,000원 미만의 하한가 호가
dn5 = int(DnLimit/10)*10; // 5,000원 이상 ~ 10,000원 미만의 하한가 호가
dn6 = int(DnLimit/5)*5; // 5,000원 미만의 하한가 호가
}
else { // 코스닥 2003년7월21일 이전
dn1 = int(DnLimit/1000)*1000;
dn2 = int(DnLimit/500)*500;
dn3 = int(DnLimit/100)*100;
dn4 = int(DnLimit/50)*50;
dn5 = int(DnLimit/10)*10;
dn6 = int(DnLimit/10)*10;
}
}
Else { //거래소 호가단위
dn1 = int(DnLimit/1000)*1000;
dn2 = int(DnLimit/500)*500;
dn3 = int(DnLimit/100)*100;
dn4 = int(DnLimit/50)*50;
dn5 = int(DnLimit/10)*10;
dn6 = int(DnLimit/5)*5;
}
if CodeCategory() == 1 or CodeCategory() == 2 then { //kospi, kosdaq
If BP >= 500000 Then
하한가 = BP-dn1;
Else If BP >= 100000 Then
하한가 = BP-dn2;
Else If BP >= 50000 Then
하한가 = BP-dn3;
Else If BP >= 10000 Then
하한가 = BP-dn4;
Else If BP >= 5000 Then
하한가 = BP-dn5;
Else
하한가 = BP-dn6;
}
else if CodeCategory() == 8 or CodeCategory() == 9 then { //ETF
하한가 = BP-dn6;
}
}
if date >= 19981207 then {
if date < 20050328 && CodeCategory() == 2 then
UpLimit = (BP[0] * 1.12);
Else
UpLimit = (BP[0] * 1.15);
if CodeCategory() == 2 then {
if date >= 20030721 then {
up1 = int(UpLimit/100+0.00001)*100;
up2 = int(UpLimit/100+0.00001)*100;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
}
else {
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/10+0.00001)*10;
}
}
Else {
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
}
if CodeCategory() == 1 || CodeCategory() == 2 then {
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else
상한가 = iff(up6>=5000, up5, up6);
}
else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF
상한가 = up6;
}
}
Plot1(상한가,"상한가");
Plot2(하한가,"하한가");
즐거운 하루되세요
> 얀 님이 쓴 글입니다.
> 제목 : 주봉의 종목검색에서 상한가 하한가를 알아내는 방법이 있나요?
>
주식 종목검색에서 각종목마다 특정계산을 해서 숫자가 하나씩 나오는데요. 이 숫자가
오늘장중에 오늘의 가능한 상한가 하한가 내에 있으면 그 종목을 출력하고 그외 영역에 있으면 오늘은 가능성이 전혀 없는 종목이니 출력을 안하면 되는데요.
문제는 주봉이라서요. dayclose도 안먹고 난감하네요.
혹시 방법이 있으면 알려주세요.
내장 함수들을 많이 써서리 일봉으로 풀어서 대응하라고 하시면 거의 재앙수준입니다 ㅡㅡ
PS. 주봉엔 지원안하는게 꽤 많네요. ㅡㅡ
버그도 꽤 있었구요.... ( 예전에 주봉 종목검색에 수정주가 적용안되는 문제하고, 미국 주식 종목검색에 거래량관련 오동작했던것 제가 지적했었습니다 )
주봉도 신경좀 써주시면 좋겠어요.
얀
2011-11-28 12:24:32
복잡하네요. ㅡㅡ
한마디로 안된다는 이야기이지요 ?
오늘 장이 끝나기전에 장중의 계산이라 당연히 전일종가를 기준으로한 오늘의 가능한 상한가 하한가 입니다.
예스스탁 예스스탁 답변
2011-11-28 12:32:47
안녕하세요
예스스탁입니다.
주봉 검색식에서 상하한가를 이용한 조건식은
직전에 답변드린 수식을 사용하셔서 작성하시고
장중에 검색하시면 됩니다.
즐거운 하루되세요
> 얀 님이 쓴 글입니다.
> 제목 : 안된다는 이야기이지요?
>
복잡하네요. ㅡㅡ
한마디로 안된다는 이야기이지요 ?
오늘 장이 끝나기전에 장중의 계산이라 당연히 전일종가를 기준으로한 오늘의 가능한 상한가 하한가 입니다.
얀
2011-11-28 13:15:18
이전 원래 답변의
'만약 이전일의 종가값을 이용하신 다면 주봉에서는 가능하지 않습니다.
말씀하신 바와 같이 일봉에서 풀어작성하셔야 합니다.'
이게 안된다는 말을 적으셨던것 아닌가요?
밑에 길게 적어주신 수식은 결국 BP를 이용하던데 주봉의 지표식에서 메시지로그로 찍어 보면 전일 종가는 전혀 알수가 없습니다.
전일종가를 모르는데 어떻게 오늘의 상한가 하한가를 내장함수없이 계산할수 있나요 ?
( 주봉의 이전봉 종가의 +- 15%를 계산하자는게 전혀 아닙니다. ㅡㅡ )
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 안된다는 이야기이지요?
> 안녕하세요
예스스탁입니다.
주봉 검색식에서 상하한가를 이용한 조건식은
직전에 답변드린 수식을 사용하셔서 작성하시고
장중에 검색하시면 됩니다.
즐거운 하루되세요
> 얀 님이 쓴 글입니다.
> 제목 : 안된다는 이야기이지요?
>
복잡하네요. ㅡㅡ
한마디로 안된다는 이야기이지요 ?
오늘 장이 끝나기전에 장중의 계산이라 당연히 전일종가를 기준으로한 오늘의 가능한 상한가 하한가 입니다.
예스스탁 예스스탁 답변
2011-11-28 13:28:40
> 얀 님이 쓴 글입니다.
> 제목 : 이해가 안되요. 쉽게 설명해주세요.
>
이전 원래 답변의
'만약 이전일의 종가값을 이용하신 다면 주봉에서는 가능하지 않습니다.
말씀하신 바와 같이 일봉에서 풀어작성하셔야 합니다.'
이게 안된다는 말을 적으셨던것 아닌가요?
밑에 길게 적어주신 수식은 결국 BP를 이용하던데 주봉의 지표식에서 메시지로그로 찍어 보면 전일 종가는 전혀 알수가 없습니다.
전일종가를 모르는데 어떻게 오늘의 상한가 하한가를 내장함수없이 계산할수 있나요 ?
( 주봉의 이전봉 종가의 +- 15%를 계산하자는게 전혀 아닙니다. ㅡㅡ )
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 안된다는 이야기이지요?
> 안녕하세요
예스스탁입니다.
주봉 검색식에서 상하한가를 이용한 조건식은
직전에 답변드린 수식을 사용하셔서 작성하시고
장중에 검색하시면 됩니다.
즐거운 하루되세요
> 얀 님이 쓴 글입니다.
> 제목 : 안된다는 이야기이지요?
>
복잡하네요. ㅡㅡ
한마디로 안된다는 이야기이지요 ?
오늘 장이 끝나기전에 장중의 계산이라 당연히 전일종가를 기준으로한 오늘의 가능한 상한가 하한가 입니다.
얀
2011-11-28 14:15:17
하필 BP동작 확인한답시고 메시지로그로 찍어본 종목이 전일종가 == 현재가인 종목이어서 착각을 했네요. 특별한 일 없는 종목은 주봉에서도 BP == 전일종가가 되는걸 확인했습니다.
신경써드리게 해드려서 죄송합니다. ㅡㅡ
그리고 문득 기억나는데 오늘말고 이전 질문에 주봉에서 전일종가를 알수 없냐는 질문을 드렸는데, 그때 100%는 아니더라도 BP와 대부분 같다는 커멘트를 주셨음 더 좋았을텐데요. 오늘의 등략율을 종목검색의 결과값으로 출력해야 하는데, BP를 몰라서 무지하게 귀찮은 노가다를 하고있는 중이었습니다. ㅡㅡ
그리고 예스랭귀지 매뉴얼에 BP에 대한 설명 짧게라도 넣어주시면 감사하겠습니다.
그냥 '기준가'라고 있어서 뭐에 사용하는지 감이 전혀 안왔었습니다.
수고많으십니다.
개인적으로 예스스탁 Q/A중에 오늘이 가장 도움되는 답변이었습니다.
예스스탁 예스스탁 답변
2011-11-28 14:28:01
안녕하세요
예스스탁입니다.
도움이 되셨다니 다행입니다.
BP에 대해 도움말 확충하도록 하겠습니다.
즐거운 하루되세요
> 얀 님이 쓴 글입니다.
> 제목 : 죄송합니다. BP 의도대로 잘동작하네요 ㅡㅡ
> 하필 BP동작 확인한답시고 메시지로그로 찍어본 종목이 전일종가 == 현재가인 종목이어서 착각을 했네요. 특별한 일 없는 종목은 주봉에서도 BP == 전일종가가 되는걸 확인했습니다.
신경써드리게 해드려서 죄송합니다. ㅡㅡ
그리고 문득 기억나는데 오늘말고 이전 질문에 주봉에서 전일종가를 알수 없냐는 질문을 드렸는데, 그때 100%는 아니더라도 BP와 대부분 같다는 커멘트를 주셨음 더 좋았을텐데요. 오늘의 등략율을 종목검색의 결과값으로 출력해야 하는데, BP를 몰라서 무지하게 귀찮은 노가다를 하고있는 중이었습니다. ㅡㅡ
그리고 예스랭귀지 매뉴얼에 BP에 대한 설명 짧게라도 넣어주시면 감사하겠습니다.
그냥 '기준가'라고 있어서 뭐에 사용하는지 감이 전혀 안왔었습니다.
수고많으십니다.
개인적으로 예스스탁 Q/A중에 오늘이 가장 도움되는 답변이었습니다.
다음글
이전글