커뮤니티

문의 드립니다.

프로필 이미지
yes
2025-11-17 22:26:05
51
글번호 228136
답변완료

도움에 감사 드립니다.
사용자 함수를 만들려고 하지만 되지 않습니다. "사용자함수 내에서 Function - End Function 구문을 사용할 수 없습니다" 라고 뜹니다" 사용자 함수로 부탁 드립니다. 미리 감사 드립니다.
input : len(88),mult(2.0); var : src(0),crr(0),k(0),sum(0),i(0),dev(0); var : nmid(0),nupper(0),nlower(0); var : upper(0),lower(0); Array : dizii[500](0); src = (h+l+c)/3; Function cr Numeric input : x(Numeric),y(Numeric); var : z(0),weight(0),i(0); z = 0.0; weight = 0.0; for i = 0 to y - 1 step 1 { z = z + x[i] * ((y - 1) / 2 + 1 -abs(i - (y - 1) / 2)); } cr = z / ((y + 1) / 2 * (y + 1) / 2); EndFunction crr = cr(src, 2 * len - 1); for k = 0 to len - 1 step 1 { sum = 0.0; for i = 0 to 2 * len - 2 - k step 1 { sum = sum + (len - abs(len - 1 - k - i)) * src[i] / (len * len - k * (k + 1) / 2); } dizii[k] = sum; } dev = mult * std(src, len); nmid = wma(src, len); nupper = nmid + wma(dev,len); nlower = nmid - wma(dev,len); upper = crr + cr(dev, 2 * len - 1); lower = crr - cr(dev, 2 * len - 1); var1=(upper+lower)/2;

사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-11-18 15:56:11

안녕하세요 예스스탁입니다. Function - EndFunction 은 인라인 함수를 만들때 사용합니다. 인라인 함수는 시스템식이나 지표등의 수식 안에서 정의된 함수를 말합니다. 사용자함수로 만드시면 아래와 같이 만들어 사용하시면 됩니다. 1 사용자함수명 : CR 반환값형 : 숫자형 input : x(Numeric),y(Numeric); var : z(0),weight(0),i(0); z = 0.0; weight = 0.0; for i = 0 to y - 1 step 1 { z = z + x[i] * ((y - 1) / 2 + 1 -abs(i - (y - 1) / 2)); } cr = z / ((y + 1) / 2 * (y + 1) / 2); 2 input : len(88),mult(2.0); var : src(0),crr(0),k(0),sum(0),i(0),dev(0); var : nmid(0),nupper(0),nlower(0); var : upper(0),lower(0); Array : dizii[500](0); src = (h+l+c)/3; crr = cr(src, 2 * len - 1); for k = 0 to len - 1 step 1 { sum = 0.0; for i = 0 to 2 * len - 2 - k step 1 { sum = sum + (len - abs(len - 1 - k - i)) * src[i] / (len * len - k * (k + 1) / 2); } dizii[k] = sum; } dev = mult * std(src, len); nmid = wma(src, len); nupper = nmid + wma(dev,len); nlower = nmid - wma(dev,len); upper = crr + cr(dev, 2 * len - 1); lower = crr - cr(dev, 2 * len - 1); var1=(upper+lower)/2; 즐거운 하루되세요