커뮤니티
시스템식?
2013-02-07 21:54:17
263
글번호 59264
시스템을 적용할 날짜를 지정한다(예:20130205)
*적용날짜 1일전(20130204) 상한가가 아닐때
*적용날짜 1일전(20130204) 장종료시 cci값이 100 이상이 아닐때
답변 1
예스스탁 예스스탁 답변
2013-02-08 09:14:09
안녕하세요
예스스탁입니다.
날짜는 적용날짜를 지정하시면 됩니다.
input : 적용날짜(20130204),CCIP(9);
var : 상한가(0), UpLimit(0),CCIV(0),up1(0), up2(0), up3(0), up4(0), up5(0),up6(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;
}
}
CCIv = CCI(CCIP);
if sdate == 적용날짜 and date != date[1] then {
var1 = Dayhigh(1);#전일고가;
var2 = 상한가[1];#전일상한가
var3 = CCIv[1];#전일 마지막봉 CCI값
}
#적용날짜 전일이 상한가가 아닐때
if sdate >= 적용날짜 and var1 < var2 Then
#적용날짜 전일 장종료시 cci값이 100 이상이 아닐때
if sdate >= 적용날짜 and var3 < 100 Then
즐거운 하루되세요
> 쭈니오빠 님이 쓴 글입니다.
> 제목 : 시스템식?
> 시스템을 적용할 날짜를 지정한다(예:20130205)
*적용날짜 1일전(20130204) 상한가가 아닐때
*적용날짜 1일전(20130204) 장종료시 cci값이 100 이상이 아닐때
이전글