커뮤니티
[재질문]종가저장방법 등
2008-12-24 12:03:04
776
글번호 18997
수고가 많으십니다.
저의 무지로 질문을 쉽게 못했나 봅니다. (하기 참조)
<<재질문1>>
array: CloseV[1000](0);
for Value1 = 0 to 1000 {
CloseV[Value1] = C[Value1];
}
은 현재봉부터 과거 1000까지의 종가값을 각 배열방에 저장하는 식이 맞습니다.
라고 하셨습니다.
그래서
array: CloseV[1000](0);
for Value1 = 0 to 2000 {
CloseV[Value1] = C[Value1] ;
}
if index == 0 Then
value5=CloseV[0];
Else
value5=0;
plot1(value5);
위것은 현재 종가를 index개 0인 자리에 plot를 한다고 생각됩니다.
쉽게보기위해 막대그래프로 속성을 주어도 전혀 나타나지가 않습니다.
그래서 index == 100을 설정해 보아도 그렇네요. 말씀대로라면 plot이 되어야 할 것같습니다만 조언을 부탁드립니다.
<<재질문2>>
index 예약어는 차트상 봉의 갯수를 가져오는 함수입니다.
차트의 첫봉을 0으로 1씩 증가합니다.
그러므로 plot1(index+1);
과 같이 지표를 그리게 되면 마지막 봉값이 2005면 2005라는 수치값을 보실 수 있습니다.
라고 하셨는데....
저의 질문은 "...인덱스값(예.2005)를 얻을 수 있는 간단한 방법이 있을까요?"였습니다.
plot으로 보는 것이 아니구요.
즉 현재봉의 종가 index값을 변수에 저장한 후 활용하기 위함입니다. 부탁합니다.
<<질문3>>
if index == 563 Then
{
for value1 = 0 to 10 {
if C[Value1]>=C[value1+1] then
{
value1=C;}
Else
value1=0;
plot1(value1);
위와 같은 if~ // for문 식은 루프내에서 계속 도는 것 같습니다.
30분을 그대로 두어도 못 빠져나오더군요.
그래서 강제종료를 하여 예스트레이더를 종료시킵니다.
강제종료(랭귀지내에서 실행 중 종료키가 없다고 했으므로)하면 거의 챠트저장 파일이 깨져버리거나 심한 경우 다시 예스를 깔아야 합니다.
(무서버서 위 식이 그런 식 같은데 질문에 올리기 전에 다시 한번 확인할 수가 없네요ㅜ)
if문 다음 for문(0to10이면 부담은 없을 듯 함)을 쓰면 이런 증세(5분간 돌다가 나오는 경우도 있음)가 나오는 이유는 뭔가요?
가능하시면 위식도 한번 테스트 부탁합니다.
인덱스값도 변수로 주고 for문 내도 변수를 주어 만족하면 그 index에 plot을 하고 싶은데 안되네요.
질문이 장황했습니다만 무지하여 몇 일간 밤낮을 씨름해도 아니되어 여쭙니다.
(눈도 아프고 스트레스가 이만저만이 아니네요....)
감사합니다.
============================
안녕하세요
예스스탁입니다.
1.
수식은 시세 수신시에 한번씩 읽어 들어가게 됩니다.
그러므로 해당봉의 종가수신시에 한번 루프를 돌리는 것은 가능하지 않습니다.
array: CloseV[1000](0);
for Value1 = 0 to 1000 {
CloseV[Value1] = C[Value1];
}
은 현재봉부터 과거 1000까지의 종가값을 각 배열방에 저장하는 식이 맞습니다.
다만 0~1000까지는 1001개의 공간이 필요하므로
선언시 array: CloseV[1001](0); 로 선언하거나
for value1 = 0 to 999까지 돌게 작성하셔야 합니다.
2.
index 예약어는 차트상 봉의 갯수를 가져오는 함수입니다.
차트의 첫봉을 0으로 1씩 증가합니다.
그러므로 plot1(index+1);
과 같이 지표를 그리게 되면 마지막 봉값이 2005면 2005라는 수치값을 보실 수 있습니다. 일봉으로 5000봉이 안되는 종목의 경우 상장일 이후 부터 현재봉까지 조회됩니다.
즐거운 성탄절 되시길 바랍니다.
> CJ_chem44 님이 쓴 글입니다.
> 제목 : 종가저장방법
> 수고하십니다.
늘 성실한 답변에 감사드립니다.
array: CloseV[1000](0);
for Value1 = 0 to 1000 {
CloseV[Value1] = C[Value1];
}
목적은 배열변수에 분봉이나 일봉의 종가(현재종가기준하여과거종가저장, 즉, 오늘 종가기준하여 과거 1000봉정도까지 저장)를 저장하고자 한데 잘 안되는 것 같습니다.
(이평을 그려보면 매번 각 봉들을 종가로 해서 계산 후 쭉~ 그리지만 오늘 종가를 기준하여 뭔가 한번만 돌리겠다는 것과 비슷한 개념입니다)
또 궁금한 점은 보통 VB에서 사용하는 for문하고 예스랭귀지 밑에서 뭔가 구동하는 로직(C(종가), O(시가)이런것과 함께 사용시)과는 좀 다른 듯 하네요.ㅜ
그리고 새로 상장한 회사의 경우 일봉으로 index가 5000개가 안되는데,
이 때 오늘 종가 기준으로 이 회사의 index가 2005라면 이 2005를 얻을 수 있는 간단한 방법이 있을까요?
감사합니다.
답변 1
예스스탁 예스스탁 답변
2008-12-24 14:17:05
안녕하세요
예스스탁입니다.
전화주시거나 전화번호를 남겨주시기 바랍니다.
원격으로 설명드리면서 작성해 드리도록 하겠습니다.
02-3453-1060
즐거운 하루되세요
> CJ_chem44 님이 쓴 글입니다.
> 제목 : [재질문]종가저장방법 등
> 수고가 많으십니다.
저의 무지로 질문을 쉽게 못했나 봅니다. (하기 참조)
<<재질문1>>
array: CloseV[1000](0);
for Value1 = 0 to 1000 {
CloseV[Value1] = C[Value1];
}
은 현재봉부터 과거 1000까지의 종가값을 각 배열방에 저장하는 식이 맞습니다.
라고 하셨습니다.
그래서
array: CloseV[1000](0);
for Value1 = 0 to 2000 {
CloseV[Value1] = C[Value1] ;
}
if index == 0 Then
value5=CloseV[0];
Else
value5=0;
plot1(value5);
위것은 현재 종가를 index개 0인 자리에 plot를 한다고 생각됩니다.
쉽게보기위해 막대그래프로 속성을 주어도 전혀 나타나지가 않습니다.
그래서 index == 100을 설정해 보아도 그렇네요. 말씀대로라면 plot이 되어야 할 것같습니다만 조언을 부탁드립니다.
<<재질문2>>
index 예약어는 차트상 봉의 갯수를 가져오는 함수입니다.
차트의 첫봉을 0으로 1씩 증가합니다.
그러므로 plot1(index+1);
과 같이 지표를 그리게 되면 마지막 봉값이 2005면 2005라는 수치값을 보실 수 있습니다.
라고 하셨는데....
저의 질문은 "...인덱스값(예.2005)를 얻을 수 있는 간단한 방법이 있을까요?"였습니다.
plot으로 보는 것이 아니구요.
즉 현재봉의 종가 index값을 변수에 저장한 후 활용하기 위함입니다. 부탁합니다.
<<질문3>>
if index == 563 Then
{
for value1 = 0 to 10 {
if C[Value1]>=C[value1+1] then
{
value1=C;}
Else
value1=0;
plot1(value1);
위와 같은 if~ // for문 식은 루프내에서 계속 도는 것 같습니다.
30분을 그대로 두어도 못 빠져나오더군요.
그래서 강제종료를 하여 예스트레이더를 종료시킵니다.
강제종료(랭귀지내에서 실행 중 종료키가 없다고 했으므로)하면 거의 챠트저장 파일이 깨져버리거나 심한 경우 다시 예스를 깔아야 합니다.
(무서버서 위 식이 그런 식 같은데 질문에 올리기 전에 다시 한번 확인할 수가 없네요ㅜ)
if문 다음 for문(0to10이면 부담은 없을 듯 함)을 쓰면 이런 증세(5분간 돌다가 나오는 경우도 있음)가 나오는 이유는 뭔가요?
가능하시면 위식도 한번 테스트 부탁합니다.
인덱스값도 변수로 주고 for문 내도 변수를 주어 만족하면 그 index에 plot을 하고 싶은데 안되네요.
질문이 장황했습니다만 무지하여 몇 일간 밤낮을 씨름해도 아니되어 여쭙니다.
(눈도 아프고 스트레스가 이만저만이 아니네요....)
감사합니다.
============================
안녕하세요
예스스탁입니다.
1.
수식은 시세 수신시에 한번씩 읽어 들어가게 됩니다.
그러므로 해당봉의 종가수신시에 한번 루프를 돌리는 것은 가능하지 않습니다.
array: CloseV[1000](0);
for Value1 = 0 to 1000 {
CloseV[Value1] = C[Value1];
}
은 현재봉부터 과거 1000까지의 종가값을 각 배열방에 저장하는 식이 맞습니다.
다만 0~1000까지는 1001개의 공간이 필요하므로
선언시 array: CloseV[1001](0); 로 선언하거나
for value1 = 0 to 999까지 돌게 작성하셔야 합니다.
2.
index 예약어는 차트상 봉의 갯수를 가져오는 함수입니다.
차트의 첫봉을 0으로 1씩 증가합니다.
그러므로 plot1(index+1);
과 같이 지표를 그리게 되면 마지막 봉값이 2005면 2005라는 수치값을 보실 수 있습니다. 일봉으로 5000봉이 안되는 종목의 경우 상장일 이후 부터 현재봉까지 조회됩니다.
즐거운 성탄절 되시길 바랍니다.
> CJ_chem44 님이 쓴 글입니다.
> 제목 : 종가저장방법
> 수고하십니다.
늘 성실한 답변에 감사드립니다.
array: CloseV[1000](0);
for Value1 = 0 to 1000 {
CloseV[Value1] = C[Value1];
}
목적은 배열변수에 분봉이나 일봉의 종가(현재종가기준하여과거종가저장, 즉, 오늘 종가기준하여 과거 1000봉정도까지 저장)를 저장하고자 한데 잘 안되는 것 같습니다.
(이평을 그려보면 매번 각 봉들을 종가로 해서 계산 후 쭉~ 그리지만 오늘 종가를 기준하여 뭔가 한번만 돌리겠다는 것과 비슷한 개념입니다)
또 궁금한 점은 보통 VB에서 사용하는 for문하고 예스랭귀지 밑에서 뭔가 구동하는 로직(C(종가), O(시가)이런것과 함께 사용시)과는 좀 다른 듯 하네요.ㅜ
그리고 새로 상장한 회사의 경우 일봉으로 index가 5000개가 안되는데,
이 때 오늘 종가 기준으로 이 회사의 index가 2005라면 이 2005를 얻을 수 있는 간단한 방법이 있을까요?
감사합니다.
이전글