커뮤니티
배열
2011-06-30 14:31:16
1035
글번호 40340
* 다운로드 메뉴얼 63페이지의
1분봉 차트에 적용하여 60분봉의 고가를 구현하는 지표식
var : Frame(0), count(0);
Array : Hval[10](0);
Frame = TimeToMinutes(stime)%60;
if dayindex == 0 or Frame < Frame[1] Then{
Hval[0] = H;
for count = 1 to 9{
➊ Hval[count] = Hval[count-1][1];
}
}
if H > Hval[0] Then
Hval[0] = H;
plot1(Hval[0]);
➊ Hval[count] = Hval[count-1][1];
for문이 처음 실행될때 Hval[1] = Hval[0][1] 이렇게 될것 같은데요.
Hval[1] = Hval[0] // 1번방에 0번방 값을 대입하라???
Hval[1] = Hval[0][1] // 1번방에 0번방 이전방의 값을 대입하라???
// 즉 (-1)번방 값을 대입하라???
Hval[0][1]에서 [1]이 무슨 뜻이고 왜 붙는지 궁금합니다
그림과 같은 그래프가 그려지는게 맞는지요?
답변 1
예스스탁 예스스탁 답변
2011-06-30 14:27:22
안녕하세요
예스스탁입니다.
Hval은 배열변수 입니다.
일반변수는 현재시점에서 값을 하나만 저장할 수 있지만
배열변수는 공간을 여러개로 분할하여 여러값을 저장할 수 있습니다.
Array : Hval[10](0);
와 같이 작성하시면
Hval은 배열변수이고 분할된 공간이 10개인 수치형변수로 선언한 것입니다.
각 분할 공간은 모두 이전값 참조도 가능합니다.
그러므로 문의하신 hval[0][1]로 작성하면 0번 분할공간의 1봉전값을 나타내게 됩니다.
var : Frame(0), count(0);
Array : Hval[10](0);
Frame = TimeToMinutes(stime)%60;
if dayindex == 0 or Frame < Frame[1] Then{
Hval[0] = H;
for count = 1 to 9{
Hval[count] = Hval[count-1][1];
}
}
if H > Hval[0] Then
Hval[0] = H;
plot1(Hval[0]);
위식은 60분봉 이하에서 60분봉의 최고가를 계산하는 식입니다.
현재의 60분간 최고가는 hval[0]에 저장하고
직전 값들은 hval[1],hval[2],..에 순차적으로 저장됩니다.
이때 60분 주기가 변경될때 먼저 새로운 60분주기가 시작되므로 hval[0]은 해당 봉의 고가로 최초값을 잡고
직전봉까지 hval[0]에 저장된 값을 hval[1]로 옮기고
기존의 hval[1]에 있었던 값은 hval[2]로 옮기며 순차적으로 옮기게 됩니다.
즉
Hval[1] = Hval[0-1][1];
1번공간에 직전0번공간에 저장된 값을 저장합니다.
값을 순차적으로 옮길때는 첨부된 그림과 같이 2가지 정도의 방법이 사용되는데
주로 초기값을 먼저 지정하고 for문으로 값을 순차적으로 옮길대는 수식과 같이 방법1을 사용하고
값을 먼저 옮기고 [0]번 공간의 초기값을 할당할때는 방법2가 사용됩니다.
수식 작성에 참고하시기 바랍니다.
즐거운 하루되세요
> 행복충전 님이 쓴 글입니다.
> 제목 : 배열
> * 다운로드 메뉴얼 63페이지의
1분봉 차트에 적용하여 60분봉의 고가를 구현하는 지표식
var : Frame(0), count(0);
Array : Hval[10](0);
Frame = TimeToMinutes(stime)%60;
if dayindex == 0 or Frame < Frame[1] Then{
Hval[0] = H;
for count = 1 to 9{
➊ Hval[count] = Hval[count-1][1];
}
}
if H > Hval[0] Then
Hval[0] = H;
plot1(Hval[0]);
➊ Hval[count] = Hval[count-1][1];
for문이 처음 실행될때 Hval[1] = Hval[0][1] 이렇게 될것 같은데요.
Hval[1] = Hval[0] // 1번방에 0번방 값을 대입하라???
Hval[1] = Hval[0][1] // 1번방에 0번방 이전방의 값을 대입하라???
// 즉 (-1)번방 값을 대입하라???
Hval[0][1]에서 [1]이 무슨 뜻이고 왜 붙는지 궁금합니다
그림과 같은 그래프가 그려지는게 맞는지요?