printSignal이라는 사용자 함수에 print문을 사용하였습니다. 그리고, 시스템에서 다음과 같이 조건부로 시스템파일을 작성하였습니다:
if countIf(c > o, 3) == 3 then
begin
Buy();
p = printSignal();
end
그런데, 해당 조건이 아님에도 printSignal()이라는 사용자 함수의 print문이 동작을 합니다. 해당 조건, 즉, countIf(C > O, 3) == 3 조건이 만족하는 경우에만 printSignal() 함수가 동작하게 하려고 하는데, 제가 어떤 부분을 잘못 코딩한 걸까요?
감사합니다.
답변 1
예스스탁
예스스탁 답변
2021-08-06 09:26:19
안녕하세요
예스스탁입니다.
수식에서 함수를 사용하면 해당함수의 이전봉을 계산등 계산의 연속사용을 대비해서
봉마다 해당값을 계산해 가지고 있게 됩니다.
다만 if 조건이 만족할때만 p에 값이 저장이 될 뿐입니다.
그래서 print와 같은 내용은 함수가 있으면 매봉 출력이 됩니다.
print와 같은 함수는 시스템수식안에서 원하시는 값을 지정해 출력하셔야 합니다.
if countIf(c > o, 3) == 3 then
begin
Buy();
Print("xx.txt","Buy %.f",1);
end
즐거운 하루되세요
> 루돌 님이 쓴 글입니다.
> 제목 : 사용자 함수 내에서의 print문
> printSignal이라는 사용자 함수에 print문을 사용하였습니다. 그리고, 시스템에서 다음과 같이 조건부로 시스템파일을 작성하였습니다:
if countIf(c > o, 3) == 3 then
begin
Buy();
p = printSignal();
end
그런데, 해당 조건이 아님에도 printSignal()이라는 사용자 함수의 print문이 동작을 합니다. 해당 조건, 즉, countIf(C > O, 3) == 3 조건이 만족하는 경우에만 printSignal() 함수가 동작하게 하려고 하는데, 제가 어떤 부분을 잘못 코딩한 걸까요?
감사합니다.