커뮤니티

[89021 번 답변부탁] 지표식에서 Swing 함수의 두번째 인자의 전달방법은?

프로필 이미지
진독립국가
2024-09-12 15:39:07
623
글번호 183424
답변완료
안녕하세요. 추석 연휴전에 저의 궁금증 해소차원에서 추가적인 답변 부탁드립니다. 즐거운 명절 연휴되시길. 감사합니다.
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2024-09-12 18:44:17

안녕하세요 예스스탁입니다. 1 기준값으로 지정하는 값이 데이터예약어(c,H,L,O과 같은 예약어)나 일반변수(var로 선언된 변수)이면 스윙하이,스윙로우의 기준값에 그대로 지정하시면 됩니다. 2 array변수를 함수의 기준값으로 지정한다면 랭귀지는 특정 몇몇함수가 아닌이상 배열변수의 이름만 지정 할 수가 없습니다. 항상 배열명과 함께 특정방번호를 지정해 주어야 합니다. 지정하지 않으면 프로그램이 다운되게 됩니다. array : AA[20](0); if swinghigh(1,AA[0],3,3,7) != -1 then 스윙하이나 스윙함수는 위와 같이 방번호를 지정해 주셔야 합니다. 위와 같이 지정하면 최근 7개 봉의 0번방의 값을 대상으로만 스윙하이 만족을 판단하게 됩니다. 4 만약 배열 값들을 대상으로 스윙하이와 스윙로우를 판단하고자 하시면 아래와 같이 풀어서 조건체크하셔야 합니다. 아래는 AA배열변수의 AA[0] ~ AA[6] 대상으로 스윙하이 스윙로우 충족여부를 체크하는 내용입니다. input : left(3),right(3); var : ii(0); var : rightH(0),leftH(0),SWH(0); var : rightL(0),leftL(0),SWL(0); Array : AA[20](0); #SwingHigh if AA[left+right] > 0 then { rightH = 0; leftH = 0; For ii = 0 to left+right { if ii < right and (rightH == 0 or (rightH > 0 and AA[ii] > rightH)) Then rightH = AA[ii]; if ii > right and (leftH == 0 or (leftH > 0 and AA[ii] > leftH)) Then leftH = AA[ii]; } #좌측봉들의 최고값은 기준값과 작고 #우측봉들의 최고값은 기준값보다 작아야함 if leftH < AA[right] and AA[right] > rightH Then SWH = AA[right]; else SWH = -1#조건 충족하지 않으면 -1 } #Swinglow if AA[left+right] > 0 then { rightL = 0; leftL = 0; For ii = 0 to left+right { if ii < right and (rightL == 0 or (rightL > 0 and AA[ii] < rightL)) Then rightL = AA[ii]; if ii > right and (leftL == 0 or (leftL > 0 and AA[ii] < leftL)) Then leftL = AA[ii]; } #좌측봉들의 최저값은 기준값과 크고 #우측봉들의 최저값은 기준값보다 커야함 if leftL > AA[right] and AA[right] < rightL Then SWL = AA[right]; else SWL = -1#조건 충족하지 않으면 -1 } 5 위 내용으로 궁금하신 부분이 해결되실지 모르겠습니다. 내일부터 휴가이므로 추가 답변은 연휴이후 드릴 수 있을 것 같습니다. 문의사항 있으시면 연휴 이후에 02-3453-1060으로 전화주시기 바랍니다. 풍성한 한가위 되시길 바랍니다. > 진독립국가 님이 쓴 글입니다. > 제목 : [89021 번 답변부탁] 지표식에서 Swing 함수의 두번째 인자의 전달방법은? > 안녕하세요. 추석 연휴전에 저의 궁금증 해소차원에서 추가적인 답변 부탁드립니다. 즐거운 명절 연휴되시길. 감사합니다.
프로필 이미지

진독립국가

2024-09-13 07:19:11

질문자 입장에서의 성실한 답변으로 궁금증 100% 해소되었습니다. 리프레쉬 되는 연휴되시길 바랍니다. 감사합니다.