커뮤니티
검색식 문의 드립니다.
2012-10-31 11:23:55
393
글번호 56111
최근 10일 동안 상한가 발생횟수가 2번 이상 발생한 종목을 검색할려구 합니다.
일일이 전일과 비교하는 것이 아니라 for문을 사용할려구 하는데 잘안되네요.
var : 발생횟수(0);
for value1 = 1 to 10
{
if dayclose[value1] >= dayclose[value1+1] * 1.14 then
발생횟수 = 발생횟수 + 1;
}
if 발생횟수 >= 2 then
find(1);
위와 같이 했는데 안되네요.
무엇이 잘못되었는지요?
도움 부탁드립니다. 감사합니다.
답변 1
예스스탁 예스스탁 답변
2012-10-31 15:36:20
안녕하세요
예스스탁입니다.
발생횟수를 for문 전에 0으로 초기화하고
누적값을 만드셔야 합니다.
상한가식을 추가한 식으로 올려드립니다.
var : 상한가(0), UpLimit(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0);
var : 발생횟수(0),cnt(0);
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;
}
}
발생횟수 = 0;
for cnt = 1 to 10{
if C[cnt] >= 상한가[cnt+1] Then
발생횟수 = 발생횟수+1;
}
if 발생횟수 >= 2 Then
find(1);
즐거운 하루되세요
> 꾸주니 님이 쓴 글입니다.
> 제목 : 검색식 문의 드립니다.
> 최근 10일 동안 상한가 발생횟수가 2번 이상 발생한 종목을 검색할려구 합니다.
일일이 전일과 비교하는 것이 아니라 for문을 사용할려구 하는데 잘안되네요.
var : 발생횟수(0);
for value1 = 1 to 10
{
if dayclose[value1] >= dayclose[value1+1] * 1.14 then
발생횟수 = 발생횟수 + 1;
}
if 발생횟수 >= 2 then
find(1);
위와 같이 했는데 안되네요.
무엇이 잘못되었는지요?
도움 부탁드립니다. 감사합니다.
다음글
이전글