커뮤니티

간단한 함수 질문입니다.

프로필 이미지
로봇짱
2015-08-11 01:48:05
105
글번호 89381
답변완료
아래와 같이 함수 작성했을 때 별 문제는 없긴한데요 궁금한게요... X2값이 x1의 '1봉'전 값을 갖는 것인데 첫번째 봉에서 1봉전 값이 없기 때문에 오류가 나거나 x2=0을 갖거나 해야 할거 같은데요 맞나요? 만약 오류가 나는 것이라면 그걸 어떻게 막아줄 수 있나요? <작성> Inputs: k(Numeric); Vars: x1(0),x2(0); x1=ma(C,k); X2=x1[1]; For= ((x1-x2)*180)/3.14;
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-08-11 13:47:32

안녕하세요 예스스탁입니다. 현재 작성하신 식 그대로 사용하셔도 문제는 없습니다. X2가 매봉 X1의 1봉전 값을 저장하므로 수식에 필요한 봉갯수가 처음 충족되는 첫봉에서는 이전봉이 값이 없으므로 N/A가 저장된 이후에 두번째 봉부터 숫자가 저장이 됩니다. 값이 없을때는 for의 계산식도 계산이 되지 않아 N/A를 리턴합니다. 아래와 같이 처리하시면 아직 계산할만큼 봉이 충분치 않으면 함수가 0으로 리턴합니다. Inputs: k(numeric); Vars: x1(0),x2(0); x1 = ma(C,k); X2 = x1[1]; if CurrentBar >= 1 Then For = ((x1-x2)*180)/3.14; Else For = 0; 즐거운 하루되세요 > 로봇짱 님이 쓴 글입니다. > 제목 : 간단한 함수 질문입니다. > 아래와 같이 함수 작성했을 때 별 문제는 없긴한데요 궁금한게요... X2값이 x1의 '1봉'전 값을 갖는 것인데 첫번째 봉에서 1봉전 값이 없기 때문에 오류가 나거나 x2=0을 갖거나 해야 할거 같은데요 맞나요? 만약 오류가 나는 것이라면 그걸 어떻게 막아줄 수 있나요? <작성> Inputs: k(Numeric); Vars: x1(0),x2(0); x1=ma(C,k); X2=x1[1]; For= ((x1-x2)*180)/3.14;