커뮤니티

문의 드립니다.

프로필 이미지
무결점
2017-11-15 12:10:31
169
글번호 114214
답변완료

첨부 이미지

Arrays : Period[2](0), Relative[2](0); Vars : X(0); Period[0] = 9; For X = 0 To 1 { Relative[X] = RSI(Period[X]); MessageLog("0값 %.2f",Relative[0]); MessageLog("1값 %.2f",Relative[1]); MessageLog("X값 %.2f",Relative[X]); If C < O Then Buy(); } 메세지로그를 찍어봤는데요. 결과값을 보시면, 처음 메세지는 Relative[0] 에는 52.17 값이 정상적으로 나왔구요. 두번째 메세지 Relative[1] 은 초기값이 0 이기 때문에 두번째 메세지도 정상으로 나왔습니다. 그래고 X값은 For문이 처음 0값이기 때문에 Relative[0] = 52.17 세번째도 정상이네요. 이제 문제는 For문의 X값이 0에서 1값으로 변했을때 입니다. 보시면 X값이 1로 변했을때 모든 수치가 52.17 로 나옵니다. RSI(Period[X]) 에서 X 값이 1로 변하였으로 RSI(Period[1]) 인데 Period[1] 의 초기값은 0 이므로 RSI(Period[1]) 은 0이고 Relative[1] = RSI(Period[1]); 위 구문의 결과값도 0 인데 왜 메세지로그에서는 전부 52.17 로 찍혀서 나오는 것일까요? 52.17 0 0 이렇게 나오는게 정상이 아닌가요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-11-16 10:52:24

> 무결점 님이 쓴 글입니다. > 제목 : 문의 드립니다. > Arrays : Period[2](0), Relative[2](0); Vars : X(0); Period[0] = 9; For X = 0 To 1 { Relative[X] = RSI(Period[X]); MessageLog("0값 %.2f",Relative[0]); MessageLog("1값 %.2f",Relative[1]); MessageLog("X값 %.2f",Relative[X]); If C < O Then Buy(); } 메세지로그를 찍어봤는데요. 결과값을 보시면, 처음 메세지는 Relative[0] 에는 52.17 값이 정상적으로 나왔구요. 두번째 메세지 Relative[1] 은 초기값이 0 이기 때문에 두번째 메세지도 정상으로 나왔습니다. 그래고 X값은 For문이 처음 0값이기 때문에 Relative[0] = 52.17 세번째도 정상이네요. 이제 문제는 For문의 X값이 0에서 1값으로 변했을때 입니다. 보시면 X값이 1로 변했을때 모든 수치가 52.17 로 나옵니다. RSI(Period[X]) 에서 X 값이 1로 변하였으로 RSI(Period[1]) 인데 Period[1] 의 초기값은 0 이므로 RSI(Period[1]) 은 0이고 Relative[1] = RSI(Period[1]); 위 구문의 결과값도 0 인데 왜 메세지로그에서는 전부 52.17 로 찍혀서 나오는 것일까요? 52.17 0 0 이렇게 나오는게 정상이 아닌가요?