커뮤니티
시스템식 부탁드립니다
2018-08-07 12:27:28
124
글번호 121168
종목을 돌려보면서 자동으로 엑셀에 기록하고자 합니다
상한가가 나온 다음날부터 3일간의 5분봉데이터를 자동으로 엑셀에 기록하고자하는데요
기록내용은 종목명 상한가날짜 상한가봉의 시가 종가 거래대금 그리고 상한가이후 3일간의 5분봉의 시종고저 데이터와 거래래량을 자동으로 기록하도록 하고싶습니다
부탁드릴게요
답변 2
예스스탁 예스스탁 답변
2018-08-07 15:47:24
안녕하세요
예스스탁입니다.
https://www.yesstock.com/YesTrader/YesLanguage/YesLanguage_help/4_3.htm
데이터를 추출하는 함수에 대해서는 위 도움말 내용 참고하시기 바랍니다.
데이터추출부분은 아래 내용 참고하셔서 사용자분이 원하시는 포멧으로 만드셔야 합니다.
아래내용을 참고하시기 바랍니다.
적용하면 해당 차트의 종목명으로 csv파일이 만들어 집니다.
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;
}
}
var : DD(0),FileName("");
FileName = SymbolName+".csv";
if bdate != bdate[1] Then
{
dd = dd+1;
Condition1 = false;
}
if Condition1 == false and H >= 상한가 then
{
Condition1 = true;
var1 = dd;
Print(FileName,",상한가날짜,%.f,상한가시간,%.f",sdate,stime);
}
if var1 > 0 and dd >= var1 and dd <= var1+3 Then
Print(FileName,",시,%.f,고,%.f,저,%.f,종,%.f,거,%.f",O,H,L,C,V);
즐거운 하루되세요
> 동작맨 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다
> 종목을 돌려보면서 자동으로 엑셀에 기록하고자 합니다
상한가가 나온 다음날부터 3일간의 5분봉데이터를 자동으로 엑셀에 기록하고자하는데요
기록내용은 종목명 상한가날짜 상한가봉의 시가 종가 거래대금 그리고 상한가이후 3일간의 5분봉의 시종고저 데이터와 거래래량을 자동으로 기록하도록 하고싶습니다
부탁드릴게요
동작맨
2018-08-10 01:24:53
상한가봉의 거래대금도 출력이 되도록 해주세요
m을 넣으니 다르게나오네요 거래대금이
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템식 부탁드립니다
>
안녕하세요
예스스탁입니다.
https://www.yesstock.com/YesTrader/YesLanguage/YesLanguage_help/4_3.htm
데이터를 추출하는 함수에 대해서는 위 도움말 내용 참고하시기 바랍니다.
데이터추출부분은 아래 내용 참고하셔서 사용자분이 원하시는 포멧으로 만드셔야 합니다.
아래내용을 참고하시기 바랍니다.
적용하면 해당 차트의 종목명으로 csv파일이 만들어 집니다.
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;
}
}
var : DD(0),FileName("");
FileName = SymbolName+".csv";
if bdate != bdate[1] Then
{
dd = dd+1;
Condition1 = false;
}
if Condition1 == false and H >= 상한가 then
{
Condition1 = true;
var1 = dd;
Print(FileName,",상한가날짜,%.f,상한가시간,%.f",sdate,stime);
}
if var1 > 0 and dd >= var1 and dd <= var1+3 Then
Print(FileName,",시,%.f,고,%.f,저,%.f,종,%.f,거,%.f",O,H,L,C,V);
즐거운 하루되세요
> 동작맨 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다
> 종목을 돌려보면서 자동으로 엑셀에 기록하고자 합니다
상한가가 나온 다음날부터 3일간의 5분봉데이터를 자동으로 엑셀에 기록하고자하는데요
기록내용은 종목명 상한가날짜 상한가봉의 시가 종가 거래대금 그리고 상한가이후 3일간의 5분봉의 시종고저 데이터와 거래래량을 자동으로 기록하도록 하고싶습니다
부탁드릴게요
다음글
이전글