Input : x(NumericSimple), g(NumericSimple);
Var : kf(0), dk(0), velo(0), smooth(0);
dk = x - kf[1];
smooth = kf[1] + dk*sqrt(g*2);
velo = velo[1] + (g*dk);
kf = smooth+velo;
_kahlman = kf;
이렇게 짜보았는데요.
1. Input 에 X 에는 ma 값 넣고, g 에는 0.9나 특정 상수를 넣을건데요. 저렇게 선언하는 것이 맞나요 ?
2. dk, smooth, velo, kf 값들이 다 1로 나오더라구요. NaN 때문에 그런건가요 ?? 어떻게 처리해야 하나요 ??
질문 답변 및 코드 수정 좀 부탁드립니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2019-10-21 10:56:20
안녕하세요
예스스탁입니다.
1
변수들이 이전봉의 값을 가져와 사용하므로
이전봉이 모두 준비된 이후에 계산을 하도록
아래와 같이 currentbar가 1이후에 계산하게 하셔야 합니다.
currentbar가 수식에서 필요한 최소 봉갯수를 충족한 이후부터
봉갯수를 카운트하는 함수입니다.
2
외부변수 선언은 작성하신 그대로 사용하시면 됩니다.
3
Input : x(NumericSimple), g(NumericSimple);
Var : kf(0), dk(0), velo(0), smooth(0);
if CurrentBar >= 1 then
{
dk = x - kf[1];
smooth = kf[1] + dk*sqrt(g*2);
velo = velo[1] + (g*dk);
kf = smooth+velo;
}
_kahlman = kf;
즐거운 하루되세요
> hiphepho 님이 쓴 글입니다.
> 제목 : 사용자 함수 질문드립니다.
> Input : x(NumericSimple), g(NumericSimple);
Var : kf(0), dk(0), velo(0), smooth(0);
dk = x - kf[1];
smooth = kf[1] + dk*sqrt(g*2);
velo = velo[1] + (g*dk);
kf = smooth+velo;
_kahlman = kf;
이렇게 짜보았는데요.
1. Input 에 X 에는 ma 값 넣고, g 에는 0.9나 특정 상수를 넣을건데요. 저렇게 선언하는 것이 맞나요 ?
2. dk, smooth, velo, kf 값들이 다 1로 나오더라구요. NaN 때문에 그런건가요 ?? 어떻게 처리해야 하나요 ??
질문 답변 및 코드 수정 좀 부탁드립니다.
감사합니다.