커뮤니티

문의 드립니다.

프로필 이미지
yes
2025-11-17 22:26:05
69
글번호 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; 즐거운 하루되세요