커뮤니티

오류

프로필 이미지
와글이
2020-03-21 23:56:04
355
글번호 137079
답변완료
Input : signal(30); var : K1s(0), Pred(C); // ClearDebug; K1s = ma(Pred,signal); if sTime == 12000 then { MessageLog("%s%f","Pred=",Pred); MessageLog("%s%f","K1s=",K1s); // 1.#QNAN0 계산은 되지만 무한 숫자가 나오는 오류 if Pred > K1s then { Buy("매수"); } } Debug 내용에 보면 'K1s=1.#QNAN0'라고 표시 됩니다. 무슨 뜻인지는 알겠는데, 어떻게 해결해야 하나요?
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-03-24 09:33:40

안녕하세요 예스스탁입니다. 1 봉수가 충족이 안되면 nan이 됩니다. 기간이 30이면 최소 30봉 이후부터 값을 계산할수 있습니다. 아래와 같이 지정한 변수가 nan이 아닐때 동작하게 하시면 됩니다. 2 var는 변수 선언입니다. 선언문에 pred(C)로만 지정하시고 이후에 값할당이 없으면 초기값만 유지 됩니다. 내부변수에 계속 값을 할당하게 하셔야 합니다. 3 Input : signal(30); var : K1s(0), Pred(C); Pred = C; K1s = ma(Pred,signal); if sTime == 12000 and IsNaN(k1s) == false then { MessageLog("%s%f","Pred=",Pred); MessageLog("%s%f","K1s=",K1s); if Pred > K1s then { Buy("매수"); } } 즐거운 하루되세요 > 와글이 님이 쓴 글입니다. > 제목 : 오류 > Input : signal(30); var : K1s(0), Pred(C); // ClearDebug; K1s = ma(Pred,signal); if sTime == 12000 then { MessageLog("%s%f","Pred=",Pred); MessageLog("%s%f","K1s=",K1s); // 1.#QNAN0 계산은 되지만 무한 숫자가 나오는 오류 if Pred > K1s then { Buy("매수"); } } Debug 내용에 보면 'K1s=1.#QNAN0'라고 표시 됩니다. 무슨 뜻인지는 알겠는데, 어떻게 해결해야 하나요?