예스스탁
예스스탁 답변
2022-01-07 15:19:12
안녕하세요
예스스탁입니다.
input : 금액(10000000),ntime(100000);
var : 상한가(0), UpLimit(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(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 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 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;
}
}
if MarketPosition == 0 Then
{
if sTime == ntime and (C > DayOpen or C > DayClose(1)) Then
Buy();
}
if MarketPosition == 1 Then
ExitLong("bx",AtLimit,상한가);
SetStopLoss(3,PercentStop);
SetStopEndofday(151500);
즐거운 하루되세요
> 대한이 님이 쓴 글입니다.
> 제목 : 수식작성 부탁드립니다.
> 안녕하십니까?
항상 수고해 주시는 점 먼저 감사 말씀드립니다.
부탁드린 수식 요청 조건 전달이 잘못되어 다시 부탁드립니다.
매수 조건 1. 특정 시점에(오전 10시) 주가가, 당일 시가보다
높거나 전일 종가보다 높으면 매수
매도 조건 1. 오전 10시 매수 하였으면, 오후 3시 15분에 매도
단, 손실 3% 면 손절, 상한가 진입 하면 매도
풀어서 말씀드리면, 선정된 종목의 주가를 오전 10시에 확인해서 당일 시가보다 높거나(OR), 전일 종가보다 높으면 매수. 오전 10시에 주가 확인해서 매수 진입 여부를 일 1회만 판단하게 하고 싶습니다.
매수를 했다면 장중 손실 3%, 상한가를 제외 하면 오후 3시 15분에 매도할수 있게 부탁드립니다.
3분봉이나, 5분봉에 적용할 생각입니다.
잘부탁드립니다.
감사합니다.