커뮤니티
3.1에서요.(질문 수정됨)
2007-06-20 09:34:11
1209
글번호 12805
3.0에서 삐거덕 거리며 겉으로는 잘 돌아가던 시스템이 안돌아가서,
debug를 하려고 print를 아래와 같이 썼더니
var1=사용자함수1;
print("debug1.txt","%.0f",var1);
정상적으로 프린트되다가, 어느 지점부터인가 "-1.$"로 프린트 되네요.
여기서 걸려서 시스템이 잘 안돌아간듯 한데요.
"-1.$"은 variable에 n/a가 들어간것도 아니고, 0으로 나눈값이 들어간것도 아닌데,
왜 이런 값이 프린트 되는건가요?
"사용자함수1"에서 걸리는것 같아 찾아들어갔더니만, 사용자함수중의 다음에서 걸리네요.
value2 = dayclose(2)-dayclose(1);
그래서 위를 아래와 같이 수정했더니만 괜찮네요.
if dayclose(2)>0 and dayclose(2)<99999999 then value2 = dayclose(2)-dayclose(1);
else value2=0;
데이터는 kospi200지수 30분봉을 사용했습니다.
그리고, 시스템리포트 화면이 너무 작게 나와 내용이 짤리네요. 이건 3.0처럼 다 나오게 화면조정좀 됐으면 합니다.
그리고 3.0에서 통하던 i와 barinterval()이 안먹네요. 각각, index와 barinterval로 바꿔줘야 됩니다.
alert도 이상하고요.
또,
"dB=13; var1=ceiling(p1*dB/19);"하면 var1에 이상한 값이 들어가고요...
var1=ceiling(p1*0.68);하면 var1에 정상적인 값이 들어갑니다.
위와 연관되서 "var/(2+1)"하면 compile error나옵니다.(zero로 나누었다고 하데요)
등등등...
끊임없는 update감사드리고요.
부탁말씀은 기능확장보다는 시스템 안정화에 앞으로도 더 신경써 주셨으면 합니다.
기능확장은 당장 눈에 보이고, 숨어있는 bug는 눈에 거의 안보이기 때문에 안정성이 간과되기 쉬운데요.
일반 프로그램이 아니고, 트레이딩 프로그램이기 때문에 기능성보다는 안정성이 더 중요하다고 생각됩니다.
답변 1
예스스탁 예스스탁 답변
2007-06-21 09:12:41
안녕하세요
예스스탁입니다.
1.
문의하신 부분을 테스트 했지만 테이터 중간에
"-1.$"라고 나오는 부분을 찾지 못했습니다.
빠른 처리를 위하여 사용하신 사용자함수를 보내주시기 바랍니다.
value2 = dayclose(2)-dayclose(1);
와 같이 사용될 경우 차트상 3일이 지난 후부터 차트에 그려지게 되고
지표로 그릴수 있는 날 이전까지는 -1.#J라는
메세지가 뿌려져 그릴수 없는 구간임을 나타냅니다.
if dayclose(2)>0 and dayclose(2)<99999999 then value2 = dayclose(2)-dayclose(1);
else value2=0;
와 같은 경우에는
if dayclose(2)>0 and dayclose(2)<99999999 then
이 만족하지 않는 모든 곳에
else value2=0;
0 값을 가지게 하므로 엄밀히 말해 약간 다른 표현입니다.
2
Barinterval은 함수로 제공되고 있습니다.
index와 마찬가지로 뒤에 ()를 빼고 사용하시면 됩니다.
I는 TS모드에서만 제공됩니다.
3.
var1/(2+1)문제는 빠른 시간에 수정하겠습니다.
즐거운 하루되세요
> heyran 님이 쓴 글입니다.
> 제목 : 3.1에서요.(질문 수정됨)
> 3.0에서 삐거덕 거리며 겉으로는 잘 돌아가던 시스템이 안돌아가서,
debug를 하려고 print를 아래와 같이 썼더니
var1=사용자함수1;
print("debug1.txt","%.0f",var1);
정상적으로 프린트되다가, 어느 지점부터인가 "-1.$"로 프린트 되네요.
여기서 걸려서 시스템이 잘 안돌아간듯 한데요.
"-1.$"은 variable에 n/a가 들어간것도 아니고, 0으로 나눈값이 들어간것도 아닌데,
왜 이런 값이 프린트 되는건가요?
"사용자함수1"에서 걸리는것 같아 찾아들어갔더니만, 사용자함수중의 다음에서 걸리네요.
value2 = dayclose(2)-dayclose(1);
그래서 위를 아래와 같이 수정했더니만 괜찮네요.
if dayclose(2)>0 and dayclose(2)<99999999 then value2 = dayclose(2)-dayclose(1);
else value2=0;
데이터는 kospi200지수 30분봉을 사용했습니다.
그리고, 시스템리포트 화면이 너무 작게 나와 내용이 짤리네요. 이건 3.0처럼 다 나오게 화면조정좀 됐으면 합니다.
그리고 3.0에서 통하던 i와 barinterval()이 안먹네요. 각각, index와 barinterval로 바꿔줘야 됩니다.
alert도 이상하고요.
또,
"dB=13; var1=ceiling(p1*dB/19);"하면 var1에 이상한 값이 들어가고요...
var1=ceiling(p1*0.68);하면 var1에 정상적인 값이 들어갑니다.
위와 연관되서 "var/(2+1)"하면 compile error나옵니다.(zero로 나누었다고 하데요)
등등등...
끊임없는 update감사드리고요.
부탁말씀은 기능확장보다는 시스템 안정화에 앞으로도 더 신경써 주셨으면 합니다.
기능확장은 당장 눈에 보이고, 숨어있는 bug는 눈에 거의 안보이기 때문에 안정성이 간과되기 쉬운데요.
일반 프로그램이 아니고, 트레이딩 프로그램이기 때문에 기능성보다는 안정성이 더 중요하다고 생각됩니다.
다음글
이전글