커뮤니티

문의

프로필 이미지
gunman
2024-05-29 11:07:11
937
글번호 180114
답변완료
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= 1to 9; hval[count] =hval[count-1][1]; } if h>hval[0] Then hval[0] = h; Plot1(hval[0]); Plot2(hval[1]); 위의 array 함수를 적용하여 plot1만 띄우면 최근 60분의 고가를 반영합니다 질문은 plot2를 띄우면 0값으로 뜨는데 이게 맞나요?? hval[1]=hval[0][1] 이므로 전 60분의 고가가 플롯되어야지 않나요?? ----------------------------- 2번. var: frame(0), hval(0); frame= TimeToMinutes(sTime)%60; if DayIndex==0 or frame<frame[1] Then hval= h; if h> hval Then hval= h; Plot1(hval); 랭기지 사용법에 2번의 수식은 60분의고가를 불러올수 없어서 1번의 array를 사용해야 한다고 했는데 수식을 적용해 보면 지표가 한치의 오차도 없이 똑같이 출력이 됩니다;; 즉 2번처럼 해도 최근 60분의 고가가 출력이 되는게 정상인지요? 그렇다면 1번이나 2번이 plot했을때 같은 값이 출력이 되면 array를 사용한 1번을 안써도 되는걸까요??? 고맙습니다 ^^
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-05-29 11:24:05

안녕하세요 예스스탁입니다. 1 For count= 1 to 9 ; 예스랭귀지에서 ;은 문장의 마침입니다. ;을 기준으로 앞과 뒤의 문장을 구별합니다. 9 뒤에 ;이 있어 hval[count] = hval[count-1][1]; 문장과for문 내용이 분리가 됩니다. 9뒤에 ;를 삭제하시면 됩니다. 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= 1to 9; hval[count] =hval[count-1][1]; } if h>hval[0] Then hval[0] = h; Plot1(hval[0]); Plot2(hval[1]); 2 올리신 식에서 Hval은 가장 최근 60분의 최고가만 저장하는 변수입니다. 직전구간값을 사용하기 위해서는 아래와 같이 변수추가해서 구간변경시 넘겨받아서 사용하시거나 1번식과 같이 시용하셔야 합니다. var: frame(0), hval(0),hval1(0); frame= TimeToMinutes(sTime)%60; if DayIndex==0 or frame<frame[1] Then { hval= h; hval1 = hval[1]; } if h> hval Then hval= h; Plot1(hval); Plot2(hval1); 즐거운 하루되세요 > gunman 님이 쓴 글입니다. > 제목 : 문의 > 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= 1to 9; hval[count] =hval[count-1][1]; } if h>hval[0] Then hval[0] = h; Plot1(hval[0]); Plot2(hval[1]); 위의 array 함수를 적용하여 plot1만 띄우면 최근 60분의 고가를 반영합니다 질문은 plot2를 띄우면 0값으로 뜨는데 이게 맞나요?? hval[1]=hval[0][1] 이므로 전 60분의 고가가 플롯되어야지 않나요?? ----------------------------- 2번. var: frame(0), hval(0); frame= TimeToMinutes(sTime)%60; if DayIndex==0 or frame<frame[1] Then hval= h; if h> hval Then hval= h; Plot1(hval); 랭기지 사용법에 2번의 수식은 60분의고가를 불러올수 없어서 1번의 array를 사용해야 한다고 했는데 수식을 적용해 보면 지표가 한치의 오차도 없이 똑같이 출력이 됩니다;; 즉 2번처럼 해도 최근 60분의 고가가 출력이 되는게 정상인지요? 그렇다면 1번이나 2번이 plot했을때 같은 값이 출력이 되면 array를 사용한 1번을 안써도 되는걸까요??? 고맙습니다 ^^