예스스탁
예스스탁 답변
2016-03-21 14:03:14
안녕하세요
예스스탁입니다.
문의하신 내용은 분봉 차트에 적용하셔야 하며
매수조건중 5번은 당일저점이 어떤 갑을 의미하시는지 모르겠습니다.
당일저점이 당일저가라면 해당 값이하로 낮을수 없으므로 조건성립이 되지 않습니다.
해당 내용 제외하고 식 작성해서 올려드립니다.
주석 참고하셔서 수정보완해 사용하시기 바랍니다.
input : N(15);
Array : DM[50](0),Cond[50](false);
var : 상한가(0), UpLimit(0),cnt(0),sumM(0),avgM(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0);
if date != date[1] Then{
Cond[0] = false;
DM[0] = 0;
for cnt = 1 to 49{
DM[cnt] = DM[cnt-1][1];
Cond[cnt] = Cond[cnt-1][1];
}
}
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 H >= 상한가 Then
cond[0] = true;
DM[0] = DM[0]+M;
if DM[N] > 0 Then{
sumM = 0;
Condition1 = false;
for cnt = 1 to N{
sumM = sumM + DM[N];
if Cond[cnt] == true Then
Condition1 = false;
}
avgM = sumM/15;
if ExitDate(1) != sdate and
stime < 130000 and
avgM >= 3000000000 and
Condition1 == true and
C > dayopen and
DayVolume > DayVolume(1)*0.7 and
C <= DayClose(1)*0.9 Then
buy();
}
if MarketPosition == 1 Then{
ExitLong("BP1",atlimit,EntryPrice*1.05);
ExitLong("BP2",atlimit,EntryPrice*1.10);
ExitLong("BL",atlimit,EntryPrice*0.97);
}
SetStopEndofday(144000);
즐거운 하루되세요
> 하루4% 님이 쓴 글입니다.
> 제목 : 수식
> 안녕하세요
수식문의 드립니다.
매수
0. 전일기준 15일 평균거래대금 30억이상
1.전일기준 15일안에 상한가가 포함.
2.당일 양봉
3.당일 13시 이전 거래량이 전일거래량 대비 70% 이상일때
4.현재가가 전일 종가대비 10%이하
5.현재가가 당일 저점대비 10%이하
매도
0. 5% 수익 절반매도
1. 5% 수익절반매도후 본전오면 전량매도.
2. 10%수익전량매도.
3. -3%손절
4. 14시 40분 전량매도.
감사합니다.
꾸벅~
해당되는 종목에 대입해봐도 아무것도 안뜨는데요. ㅜㅜ
예를 들어 코데즈컴바인047770 3월16일에 떠야하는데 안뜹니다. 1분봉 적용
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식
> 안녕하세요
예스스탁입니다.
문의하신 내용은 분봉 차트에 적용하셔야 하며
매수조건중 5번은 당일저점이 어떤 갑을 의미하시는지 모르겠습니다.
당일저점이 당일저가라면 해당 값이하로 낮을수 없으므로 조건성립이 되지 않습니다.
해당 내용 제외하고 식 작성해서 올려드립니다.
주석 참고하셔서 수정보완해 사용하시기 바랍니다.
input : N(15);
Array : DM[50](0),Cond[50](false);
var : 상한가(0), UpLimit(0),cnt(0),sumM(0),avgM(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0);
if date != date[1] Then{
Cond[0] = false;
DM[0] = 0;
for cnt = 1 to 49{
DM[cnt] = DM[cnt-1][1];
Cond[cnt] = Cond[cnt-1][1];
}
}
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 H >= 상한가 Then
cond[0] = true;
DM[0] = DM[0]+M;
if DM[N] > 0 Then{
sumM = 0;
Condition1 = false;
for cnt = 1 to N{
sumM = sumM + DM[N];
if Cond[cnt] == true Then
Condition1 = false;
}
avgM = sumM/15;
if ExitDate(1) != sdate and
stime < 130000 and
avgM >= 3000000000 and
Condition1 == true and
C > dayopen and
DayVolume > DayVolume(1)*0.7 and
C <= DayClose(1)*0.9 Then
buy();
}
if MarketPosition == 1 Then{
ExitLong("BP1",atlimit,EntryPrice*1.05);
ExitLong("BP2",atlimit,EntryPrice*1.10);
ExitLong("BL",atlimit,EntryPrice*0.97);
}
SetStopEndofday(144000);
즐거운 하루되세요
> 하루4% 님이 쓴 글입니다.
> 제목 : 수식
> 안녕하세요
수식문의 드립니다.
매수
0. 전일기준 15일 평균거래대금 30억이상
1.전일기준 15일안에 상한가가 포함.
2.당일 양봉
3.당일 13시 이전 거래량이 전일거래량 대비 70% 이상일때
4.현재가가 전일 종가대비 10%이하
5.현재가가 당일 저점대비 10%이하
매도
0. 5% 수익 절반매도
1. 5% 수익절반매도후 본전오면 전량매도.
2. 10%수익전량매도.
3. -3%손절
4. 14시 40분 전량매도.
감사합니다.
꾸벅~
예스스탁
예스스탁 답변
2016-03-21 17:06:30
안녕하세요
예스스탁입니다.
현재 수식에서 일간 거대대금을 계산하는데
봉수 부족으로 계산이 되지 않습니다.
해당 종목 거래가 없은 구간이 많이 있습니다.
수식에서는 차트봉만으로 당일치를 누적하므로
해당 부분때문에 일봉 데이터를 참조데이터로 추가하신 후에 식을 적용하셔야 할것 같습니다.
첨부된 그림과 같이 분봉 차트에 일간 데이터를 참조데이터로
차트에 추가하신 후에 식 적용하시기 바랍니다.
참조데이터는 차트왼쪽 상단의 종목선택 버튼 중 오른쪽 클릭하시면
선택해 추가할수 있습니다.기본종목과 같은 종목 다른주기도 적용가능합니다.
input : N(15);
Array : Cond[50](false,data1);
var : 상한가(0,data1), UpLimit(0,data1),cnt(0,data1),sumM(0,data1),avgM(0,data1);
var : up1(0,data1), up2(0,data1), up3(0,data1), up4(0,data1), up5(0,data1),up6(0,data1),Up7(0,data1);
if date != date[1] Then{
Cond[0] = false;
for cnt = 1 to 49{
Cond[cnt] = Cond[cnt-1][1];
}
}
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 H >= 상한가 Then
cond[0] = true;
Condition1 = false;
for cnt = 1 to N{
if Cond[cnt] == true Then
Condition1 = true;
}
if ExitDate(1) != sdate and
stime < 130000 and
data2(ma(M,N)) >= 3000000000 and
Condition1 == true and
C > dayopen and
DayVolume > DayVolume(1)*0.7 and
C <= DayClose(1)*1.10 Then
buy();
if MarketPosition == 1 Then{
ExitLong("BP1",atlimit,EntryPrice*1.05,"",floor(MaxContracts*0.5),1);
ExitLong("BP2",atlimit,EntryPrice*1.10);
if CurrentContracts < MaxContracts Then
exitlong("BP3",AtStop,EntryPrice);
ExitLong("BL",AtStop,EntryPrice*0.97);
}
SetStopEndofday(144000);
즐거운 하루되세요
> 하루4% 님이 쓴 글입니다.
> 제목 : Re : Re : 수식
> 해당되는 종목에 대입해봐도 아무것도 안뜨는데요. ㅜㅜ
예를 들어 코데즈컴바인047770 3월16일에 떠야하는데 안뜹니다. 1분봉 적용
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식
> 안녕하세요
예스스탁입니다.
문의하신 내용은 분봉 차트에 적용하셔야 하며
매수조건중 5번은 당일저점이 어떤 갑을 의미하시는지 모르겠습니다.
당일저점이 당일저가라면 해당 값이하로 낮을수 없으므로 조건성립이 되지 않습니다.
해당 내용 제외하고 식 작성해서 올려드립니다.
주석 참고하셔서 수정보완해 사용하시기 바랍니다.
input : N(15);
Array : DM[50](0),Cond[50](false);
var : 상한가(0), UpLimit(0),cnt(0),sumM(0),avgM(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0);
if date != date[1] Then{
Cond[0] = false;
DM[0] = 0;
for cnt = 1 to 49{
DM[cnt] = DM[cnt-1][1];
Cond[cnt] = Cond[cnt-1][1];
}
}
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 H >= 상한가 Then
cond[0] = true;
DM[0] = DM[0]+M;
if DM[N] > 0 Then{
sumM = 0;
Condition1 = false;
for cnt = 1 to N{
sumM = sumM + DM[N];
if Cond[cnt] == true Then
Condition1 = false;
}
avgM = sumM/15;
if ExitDate(1) != sdate and
stime < 130000 and
avgM >= 3000000000 and
Condition1 == true and
C > dayopen and
DayVolume > DayVolume(1)*0.7 and
C <= DayClose(1)*0.9 Then
buy();
}
if MarketPosition == 1 Then{
ExitLong("BP1",atlimit,EntryPrice*1.05);
ExitLong("BP2",atlimit,EntryPrice*1.10);
ExitLong("BL",atlimit,EntryPrice*0.97);
}
SetStopEndofday(144000);
즐거운 하루되세요
> 하루4% 님이 쓴 글입니다.
> 제목 : 수식
> 안녕하세요
수식문의 드립니다.
매수
0. 전일기준 15일 평균거래대금 30억이상
1.전일기준 15일안에 상한가가 포함.
2.당일 양봉
3.당일 13시 이전 거래량이 전일거래량 대비 70% 이상일때
4.현재가가 전일 종가대비 10%이하
5.현재가가 당일 저점대비 10%이하
매도
0. 5% 수익 절반매도
1. 5% 수익절반매도후 본전오면 전량매도.
2. 10%수익전량매도.
3. -3%손절
4. 14시 40분 전량매도.
감사합니다.
꾸벅~