안녕하세요?
아래의 파인스크립트 함수 2개를 예스로 번역해 주시기 바랍니다.
감사합니다.
//functions
xrf(values, length) =>
r_val = float(na)
if length >= 1
for i = 0 to length by 1
if na(r_val) or not na(values[i])
r_val := values[i]
r_val
r_val
xsa(src, len, wei) =>
sumf = 0.0
ma = 0.0
out = 0.0
sumf := nz(sumf[1]) - nz(src[len]) + src
ma := na(src[len]) ? na : sumf / len
out := na(out[1]) ? ma : (src * wei + out[1] * (len - wei)) / len
out
답변 1
예스스탁
예스스탁 답변
2023-10-23 11:13:09
안녕하세요
예스스탁입니다.
1
input : length(10);
var : cnt(0),values(0),xrf(0);
values = 값;
xrf = Nan;
For cnt = 0 to length
{
if IsNaN(xrf) == true or IsNaN(values[cnt]) == False Then
xrf = values[cnt];
}
2
input : len(10),wei(0);
var : cnt(0),src(0),sumf(0),mav(0),xsa(0);
src = 값;
sumf = 0;
mav = 0;
xsa = 0;
sumf = IFf(IsNaN(sumf[1]) == true,0,sumf[1]) + iff(IsNaN(src[len])==true,0,src[len]) + src;
mav = IFf(IsNaN(src[len]) == true,nan ,sumf / len);
xsa = iff(IsNan(xsa[1]) == true , mav , (src * wei + xsa[1] * (len - wei)) / len);
즐거운 하루되세요
> 에구머니 님이 쓴 글입니다.
> 제목 : 수식 문의
> 안녕하세요?
아래의 파인스크립트 함수 2개를 예스로 번역해 주시기 바랍니다.
감사합니다.
//functions
xrf(values, length) =>
r_val = float(na)
if length >= 1
for i = 0 to length by 1
if na(r_val) or not na(values[i])
r_val := values[i]
r_val
r_val
xsa(src, len, wei) =>
sumf = 0.0
ma = 0.0
out = 0.0
sumf := nz(sumf[1]) - nz(src[len]) + src
ma := na(src[len]) ? na : sumf / len
out := na(out[1]) ? ma : (src * wei + out[1] * (len - wei)) / len
out