예스스탁
예스스탁 답변
2024-04-29 11:47:35
안녕하세요
예스스탁입니다.
var : 상한가(0), UpLimit(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0);
var : mav1(0),mav2(0),ii(0),hh(0),count(0),ll(0),lo(0);
if date >= 19981207 then
{
if date < 20050328 && CodeCategory() == 2 then
UpLimit = (BP[0] * 1.12);
Else if date >= 20050328 and date < 20150615 Then
UpLimit = (BP[0] * 1.15);
Else
UpLimit = (BP[0] * 1.30);
if date >= 20230125 Then
{
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;
up7 = int(UpLimit/1+0.00001)*1;
}
Else
{
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;
up7 = int(UpLimit/1+0.00001)*1;
}
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;
up7 = int(UpLimit/1+0.00001)*1;
}
}
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;
up7 = int(UpLimit/1+0.00001)*1;
}
}
if CodeCategory() == 1 || CodeCategory() == 2 then
{
if date >= 20230125 Then
{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 200000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=200000, up2, up3);
Else If BP >= 20000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=20000, up4, up5);
Else If BP >= 2000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=2000, up6, up7);
}
Else
{
if sdate < 20101004 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 If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up6);
}
Else
{
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 If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up7);
}
}
}
else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF
상한가 = up6;
}
}
mav1 = ma(c,5);
mav2 = ma(c,60);
if H >= 상한가 and
H > highest(H,30)[1] and
Money >= 50000000000 Then
{
ii = Index;
hh = h;
ll = l;
count = 0;
Condition1 = true;
}
Else
{
if L < mav2 Then
Condition1 = False;
if Condition1 == true Then
{
if hh > 0 and h > hh Then
{
hh = h;
count = 0;
ii = Index;
}
if l < ll Then
ll = l;
if CrossUp(L,mav1) Then
Lo = ll;
if CrossDown(L,mav1) Then
count = count+1;
if l < mav1 and mav2 <= lo*0.90 and Index <= ii+30 and count >= 2 Then
Buy("b",AtLimit,mav2);
}
}
즐거운 하루되세요
> 깜피 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요.
상한가 이후에 고점을 찍고 5일 이평선을 하락돌파, 상승돌파, 다시 하락돌파하는 하는 종목을 매수하는 식입니다.
항상 감사드립니다.
좋은 하루 보내세요.
* 30봉이내 최고가인 거래대금이 5백억원 이상인 상한가 출현(index1)
* 이후 봉에서 고가가 더 높으면 고가 갱신(index2)
* 저가상 5일선 이탈(index3)
* 이후 고가가 5일선 돌파(index4) // 돌파 후 최고가가 이탈 전 최고가를 넘으면 안됨, 넘은 경우 5일선 이탈-돌파-이탈이 다시 발생해야함
* 이후 저가가 5일선 재이탈(index5)
* 저가가 60일선 이상에 존재 // index1 이후에 저가가 60일선 밑으로 내려오면 안됨
* 60일선에서 매수
- 고점 이후 30일 이내에 매수,
- 5일선 돌파할 때 전저점 대비 매수가격이 10%이상 낮아야함