커뮤니티

함수에서 다수의 변수 처리 방법

프로필 이미지
온고지신
2025-12-19 07:55:11
45
글번호 229168
답변완료

보통 입력 파라메터를 read-only 변수로 주고 결과값을 3가지 타입 중에 하나로 해서 하나의 결과값만 받는 기본적인 함수 사용법말고,  함수 안에서 여러 값들로 여러 변수를 한꺼번에 처리해주어서 모듈화를 시키고 싶은데, 살펴보다보니 ref타입으로 함수 파라메터를 선언해주면, 외부에서 해당 변수를 지정해주면 해당 변수의 값을 함수안에서 수정하고 함수가 호출이 리턴이 되고 나면 해당 여러 변수들은 모두 다 수정된 값이 함수 외부에서 수정된 상태로 읽을 수 있는 것이 맞을 지요? 


예를 들어서 10개의 값을 입력 변수로 지정하고, 그것들로 5개의 변수값을 계산 및 처리하고 싶을 때의 함수 선언 방법과 사용예를 부탁 드리거나, 아니면 기존 질의 응답 내용 중에 참조할 만한 글이 있다면 해당 내용의 글번호 알려주시면 참고하여 적용해 보도록 하겠습니다.


아 그리고 거기에 더해서, 참조데이타나 시고저종 등의 시리즈 변수 같은 것들을 넘겨서 함수 내에서 처리하고 싶을 땐, 역시 함수 선언과 사용을 어떻게 하면 되는 지도 문의 드립니다.


언제나 노고에 감사드립니다~

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

예스스탁 예스스탁 답변

2025-12-19 11:02:24

안녕하세요 예스스탁입니다. 1 함수 만드실 때 ref타입으로 외부변수 지정하시면 됩니다. 아래식 함수식 참고하시기 바랍니다. 사용자함수명 : sto 반환값형 : 숫자형 input : sto1(Numeric),sto2(Numeric),sto3(Numeric),fk(NumericRef),sk(NumericRef),sd(NumericRef); fk = (c-lowest(L,sto1))/(highest(H,sto1)-lowest(L,sto1))*100; sk = Ema(fk,sto2); sd = Ema(sk,sto3); sto = 1; 지표로 작성하면 아래와 같습니다. var : f(0),k(0),d(0); sto(10,5,5,f,k,d); Plot1(f,"fastk"); Plot2(k,"Slowk"); Plot3(d,"Slowd"); 2 함수 자체에서는 참조데이터사용과 관련해서 별도로 처리하실 내용이 없습니다. data2(sto(10,5,5,f,k,d))와 같이 함수 자체를 데이터함수로 씌워주시면 됩니다. 즐거운 하루되세요
프로필 이미지

온고지신

2025-12-19 21:41:51

네~ 배열은 시리즈 레퍼런스로 보내면 될 거 같고, 함수 내에서 k[1]등으로 사용할 수 있는 지는 한번 직접 적용해 보면서 살펴보겠습니다. 답변 감사합니다~