커뮤니티

질문드립니다.

프로필 이미지
stockric
2018-03-02 13:19:13
146
글번호 117096
답변완료
안녕하세요 예스스탁입니다. data2의&#160;당일고가/당일저가/당일종가이면&#160;아래와&#160;같이 작성하시면&#160;됩니다. var&#160;:&#160;cnt(0); Array&#160;:&#160;H2[100](0,data2),L2[100](0,data2),c2[100](0,data2); if&#160;data2(bdate&#160;!=&#160;bdate[1])&#160;Then{ &#160;&#160;&#160;&#160;&#160;&#160;H2[0]&#160;=&#160;data2(H); &#160;&#160;&#160;&#160;&#160;&#160;L2[0]&#160;=&#160;data2(L); &#160;&#160;&#160;&#160;&#160;&#160;for&#160;cnt&#160;=&#160;1&#160;to&#160;99{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;H2[cnt]&#160;=&#160;H2[cnt-1][1]; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;L2[cnt]&#160;=&#160;L2[cnt-1][1]; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;c2[cnt]&#160;=&#160;c2[cnt-1][1]; &#160;&#160;&#160;&#160;&#160;&#160;} } if&#160;data2(H)&#160;>&#160;H2[0]&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;H2[0]&#160;=&#160;data2(H); if&#160;data2(L)&#160;<&#160;L2[0]&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;L2[0]&#160;=&#160;data2(L); c2[0]&#160;=&#160;data2(c); 이전 답변 잘 받았습니다. 여기서 추가로 궁금한 것이 있습니다. data2 고가 와 저가를 만든것이 H2[0], L2[0] 인데요. 이걸 for문에 넣으면 외부함수입력값때문에 안되네요. 가령 for n = 1 to 20 { x = h2[0][n] + L2[0][n];} 이렇게하게되면 저기에 [n]을 넣을 수 없습니다. 이런경우 외부함수라면 사용자 함수를 응용해야하는지요? 만약 그렇다면 논리형인지 숫자형인지.. for문에 넣을려면 어떻게 해야하나요?
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-03-02 13:59:28

안녕하세요 예스스탁입니다. 1 어떤 값을 계산하고자 하시는지 정확한 내용을 올려주셔야 정확한 답변이 가능합니다. 올려주신 for문으로는 어떤 내용을 구현하고자 하는지 불명확합니다 올려주신 for문식도 문법적으로 오류가 있거나 하는 내용이 아닙니다. 2 작성해 드린 수식에서 H2,L2,C2는 배열변수이고 각 배열변수의 [0]은 당일, [1]은 1일전, [2]는 2일전...순으로 값이 저장되게 작성해 드린수식이고 최대 99일전까지 저장되게 되어 있습니다. H2[0] 당일최고, H2[1] 전일최고, H2[2] 전전일최고..... L2[0] 당일최저, L2[1] 전일최저, L2[2] 전전일최저..... C2[0] 당일종가, C2[1] 전일종가, C2[2] 전전일종가..... 3 H2[0][0]은 배열변수H2의 0번방의 현재봉값(현재봉값이므로 [0]은 생략가능) H2[0][1]은 배열변수H2의 0번방의 1봉전값 H2[0][2]는 배열변수H2의 0번방의 2봉전값이라는 의미입니다. 그러므로 for n = 1 to 20 { x = h2[0][n] + L2[0][n]; } 와 같은 내용이 문법적으로 문제가 있거나 하지 않습니다. 다만 만약 1일에서 20일까지의 최고가와 최저가 지정하고 하셨으면 아래와 같이 n이 지정되어야 합니다. for n = 1 to 20 { x = h2[n] + L2[n]; } 4 작성하고자 하는 수식이 20일 평균값이면 수식내용은 아래와 같습니다. var : cnt(0),n(0),x(0,data2),mav(0,data2); Array : H2[100](0,data2),L2[100](0,data2),c2[100](0,data2); if data2(bdate != bdate[1]) Then{ H2[0] = data2(H); L2[0] = data2(L); for cnt = 1 to 99{ H2[cnt] = H2[cnt-1][1]; L2[cnt] = L2[cnt-1][1]; c2[cnt] = c2[cnt-1][1]; } } if data2(H) > H2[0] Then H2[0] = data2(H); if data2(L) < L2[0] Then L2[0] = data2(L); c2[0] = data2(c); if H2[0] > 20 and L2[20] > 0 then{ x = 0; for n = 1 to 20 { x = x + (H2[n] + L2[n])/2; } mav = x/20; plot1(mav); } 즐거운 하루되세요 > stockric 님이 쓴 글입니다. > 제목 : 질문드립니다. > 안녕하세요 예스스탁입니다. data2의&#160;당일고가/당일저가/당일종가이면&#160;아래와&#160;같이 작성하시면&#160;됩니다. var&#160;:&#160;cnt(0); Array&#160;:&#160;H2[100](0,data2),L2[100](0,data2),c2[100](0,data2); if&#160;data2(bdate&#160;!=&#160;bdate[1])&#160;Then{ &#160;&#160;&#160;&#160;&#160;&#160;H2[0]&#160;=&#160;data2(H); &#160;&#160;&#160;&#160;&#160;&#160;L2[0]&#160;=&#160;data2(L); &#160;&#160;&#160;&#160;&#160;&#160;for&#160;cnt&#160;=&#160;1&#160;to&#160;99{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;H2[cnt]&#160;=&#160;H2[cnt-1][1]; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;L2[cnt]&#160;=&#160;L2[cnt-1][1]; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;c2[cnt]&#160;=&#160;c2[cnt-1][1]; &#160;&#160;&#160;&#160;&#160;&#160;} } if&#160;data2(H)&#160;>&#160;H2[0]&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;H2[0]&#160;=&#160;data2(H); if&#160;data2(L)&#160;<&#160;L2[0]&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;L2[0]&#160;=&#160;data2(L); c2[0]&#160;=&#160;data2(c); 이전 답변 잘 받았습니다. 여기서 추가로 궁금한 것이 있습니다. data2 고가 와 저가를 만든것이 H2[0], L2[0] 인데요. 이걸 for문에 넣으면 외부함수입력값때문에 안되네요. 가령 for n = 1 to 20 { x = h2[0][n] + L2[0][n];} 이렇게하게되면 저기에 [n]을 넣을 수 없습니다. 이런경우 외부함수라면 사용자 함수를 응용해야하는지요? 만약 그렇다면 논리형인지 숫자형인지.. for문에 넣을려면 어떻게 해야하나요?