안녕하세요 항상 건강하십쇼!
저번에 여쭤본 86029 게시글에 이어서 계속 질문 드립니다.
말씀주신 PercentRankArray의 결과값을 사용자 함수로 불러와서 쓰고싶은데 안됩니다 ㅠㅠ
동일한 코드로 지표를 만들어서 plot하면 값이 잘 불러와지는데, 사용자 함수로 넣어서 해당 사용자 함수를 불러와서 plot하면 값이 n/a로 뜹니다. 안뜹니다.
고쳐주세요 (__)
사용자함수명 : PRATest
/////////
var:
vari1(0),
Vari2(0)
;
Array : cc[10000](0)
;
///
Vari1 = Close;
Ins*ertArray(cc, 0, Vari1);
Vari2 = PercentRankArray(C,cc,index);
#대상값은 종가, 대상배열은 cc, 사이즈는 Array에 저장된 값의 수. 즉 Array에 방이 하나씩 채워질때마다 해당 값도 늘어나야합니다. 어떻게 해야하나요? Index를 넣으면 되나요?
PRATest = Vari2;
//////////
답변 1
예스스탁
예스스탁 답변
2024-03-06 14:55:07
안녕하세요
예스스탁입니다.
In*sertArray함수가
사용자함수 안에서는 동작하지 않게 되어 있습니다.
사용자함수로 만드신다면 방법은 2가지입니다.
1
In*sertArray내용을 풀어서 for문으로 대체하는 방법입니다.
이경우 내장함수인 In*sertArray함수에 비해 로드가 많이 걸리게 됩니다.
사용자함수명 : PRATest
반환값형 : 숫자형
var: cnt(0),Vari1(0),Vari2(0);
Array : cc[10000](0);
Vari1 = close;
for cnt = 99999 downto 1
{
CC[cnt] = CC[cnt-1];
}
cc[0] = Vari1;
Vari2 = PercentRankArray(C,cc,index);
PRATest = Vari2;
2
Array : cc[10000](0);
In*sertArray(cc, 0, c);
plot1(PRATest(cc));
배열에 값을 저장하는 내용은 위와 같이 지표식이나 시스템식등 필요한 식에서 동작하게 하고
사용자함수에 배열명만 지정하게 작성해서 사용하는 방법입니다.
사용자함수명 : PRATest
반환값형 : 숫자형
input : arr[n](NumericArray);
PRATest = PercentRankArray(C,arr,index);
즐거운 하루되세요
> 이만스닥 님이 쓴 글입니다.
> 제목 : 사용자 함수 문의
> 안녕하세요 항상 건강하십쇼!
저번에 여쭤본 86029 게시글에 이어서 계속 질문 드립니다.
말씀주신 PercentRankArray의 결과값을 사용자 함수로 불러와서 쓰고싶은데 안됩니다 ㅠㅠ
동일한 코드로 지표를 만들어서 plot하면 값이 잘 불러와지는데, 사용자 함수로 넣어서 해당 사용자 함수를 불러와서 plot하면 값이 n/a로 뜹니다. 안뜹니다.
고쳐주세요 (__)
사용자함수명 : PRATest
/////////
var:
vari1(0),
Vari2(0)
;
Array : cc[10000](0)
;
///
Vari1 = Close;
Ins*ertArray(cc, 0, Vari1);
Vari2 = PercentRankArray(C,cc,index);
#대상값은 종가, 대상배열은 cc, 사이즈는 Array에 저장된 값의 수. 즉 Array에 방이 하나씩 채워질때마다 해당 값도 늘어나야합니다. 어떻게 해야하나요? Index를 넣으면 되나요?
PRATest = Vari2;
//////////