return 값이 있는 함수면 변수가 아니라 함수로 값을 불러와야 하고,
저라면 52주 신고가이면 240~252일 사이의 값(거래일 기준)을 쓰겠구요, 주가는 300 거래일까지만 호출되는 걸로 알고있습니다.
상장한지 얼마 안된 종목도 있을테니 필터에 "수정주가 240거래일 과거값 > 0" 추가하면 좋을 것 같고
바꾸기 블록은 변수 값을 바꿔주는게 아니라 누적 덧셈입니다.
반복문에 리스트 형태로 주가를 받아서 return 부에서 조건문 넣고 boolean으로 값을 받는 것도 괜찮아보입니다.
| koa55| 2020.10.05 03:03
답변 감사합니다. 어떤 부분 바꿔야 할지 대충 감이 오네요.
| LimSung Hyun| 2020.10.06 07:45
'52주비교' 함수에서 if 블록 안쪽에 오류가 있어 보여 코멘트 남깁니다.
조건이 만족되면, 즉 기존의 최고값(52최고 변수값)보다 더 큰 새로운 값을 만나면 52최고 변수를 그 새로운 값으로 바꾸어 주는 블록을 잘못 사용하신 거 같습니다.
"바꾸기 (52최고) 만큼 (수정종가의 i 거래일 과거값)" 블록은 52최고 <- 52최고 + (수정종가의 i 거래일 과거값)를 의미하는 블록입니다. (블록 라이브러리의 한글버전에서 바꾸기와 만큼이라는 한글 표현이 영어로 되어 있는 위치에 그대로 번역되어 있다 보니 좀 이상합니다.)
그 블록 대신에 "(52최고)를 (수정종가의 i 거래일 과거값) 로 설정" 블록을 사용하셔야 맞습니다.