커뮤니티

지표식에서 Swing 함수의 두번째 인자의 전달방법은?

프로필 이미지
진독립국가
2024-09-10 07:10:37
594
글번호 183302
답변완료
https://www.yesstock.com/Board/View.asp?db=board100036&num=171648 위 글을 읽어보니 만약 "SwingHigh(1,h,left,right,left+right+1)"에서 스윙하이 값을 h가 아닌 종가 C나 제가 임의로 지정한 변수로 넣어도 스윙하이 값이 정상 작동하는거죠? --> 예 기준값은 원하시는 값으로 지정하시면 됩니다. https://www.yesstock.com/Board/View.asp?db=board100036&num=18711 의 글의 내용처럼 제가 임의로 지정해서 SwingHigh 함수의 두번째 인자값으로 전달해서 SwingHigh함수를 테스트해보려면 어떻게 해야 하는가요? 결론적으로 질문의 제목처럼 저의 지표식에서 NumericSeries 변수값을 어떻게 선언하고, 어떻게 값을 지정해서 SwingHigh 함수로 넘겨주어야 하는건지 궁금합니다. 감사합니다.
지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2024-09-10 15:56:39

안녕하세요 예스스탁입니다. 스윙하이 함수의 기준값은 데이터가 아니라도 함수나 계산식을 지정하셔도 됩니다. 이는 기준값을 지정하는 모든 함수가 동일합니다. 아래 내용 참고하시기 바랍니다. input : left(3),right(3); var : value(0),hh(0); value = ma(C,20); if SwingHigh(1,value,left,right,left+right+1) != -1 Then hh = value[right]; 즐거운 하루되세요 > 진독립국가 님이 쓴 글입니다. > 제목 : 지표식에서 Swing 함수의 두번째 인자의 전달방법은? > https://www.yesstock.com/Board/View.asp?db=board100036&num=171648 위 글을 읽어보니 만약 "SwingHigh(1,h,left,right,left+right+1)"에서 스윙하이 값을 h가 아닌 종가 C나 제가 임의로 지정한 변수로 넣어도 스윙하이 값이 정상 작동하는거죠? --> 예 기준값은 원하시는 값으로 지정하시면 됩니다. https://www.yesstock.com/Board/View.asp?db=board100036&num=18711 의 글의 내용처럼 제가 임의로 지정해서 SwingHigh 함수의 두번째 인자값으로 전달해서 SwingHigh함수를 테스트해보려면 어떻게 해야 하는가요? 결론적으로 질문의 제목처럼 저의 지표식에서 NumericSeries 변수값을 어떻게 선언하고, 어떻게 값을 지정해서 SwingHigh 함수로 넘겨주어야 하는건지 궁금합니다. 감사합니다.
프로필 이미지

진독립국가

2024-09-10 20:13:54

안녕하세요. 제가 원하는 건 배열처럼 생성한 일련의 데이터(NumericSeries)값을 SwighHigh, SwingLow 함수의 두번째 인자로 넘겨주는 방법에 관한 것이었습니다. 18711번의 글의 아래내용의 예처럼 SwingHigh와 SwingLow 함수를 테스트해보려고 지표식에서 배열에 값들을 담아서 SwingHigh 함수로 넘겨주니 HTS가 다운되더군요. 다시 답변 부탁드립니다.감사합니다. 18711번 글의 예시) swinghigh (O) 100-100-100-101(기준봉)-100-100-100 (X) 100-100-100-100(기준봉)-100-100-100 swinglow (O) 100-100-100-99(기준봉)-100-100-100 (X) 100-100-100-100(기준봉)-100-100-100 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표식에서 Swing 함수의 두번째 인자의 전달방법은? > 안녕하세요 예스스탁입니다. 스윙하이 함수의 기준값은 데이터가 아니라도 함수나 계산식을 지정하셔도 됩니다. 이는 기준값을 지정하는 모든 함수가 동일합니다. 아래 내용 참고하시기 바랍니다. input : left(3),right(3); var : value(0),hh(0); value = ma(C,20); if SwingHigh(1,value,left,right,left+right+1) != -1 Then hh = value[right]; 즐거운 하루되세요 > 진독립국가 님이 쓴 글입니다. > 제목 : 지표식에서 Swing 함수의 두번째 인자의 전달방법은? > https://www.yesstock.com/Board/View.asp?db=board100036&num=171648 위 글을 읽어보니 만약 "SwingHigh(1,h,left,right,left+right+1)"에서 스윙하이 값을 h가 아닌 종가 C나 제가 임의로 지정한 변수로 넣어도 스윙하이 값이 정상 작동하는거죠? --> 예 기준값은 원하시는 값으로 지정하시면 됩니다. https://www.yesstock.com/Board/View.asp?db=board100036&num=18711 의 글의 내용처럼 제가 임의로 지정해서 SwingHigh 함수의 두번째 인자값으로 전달해서 SwingHigh함수를 테스트해보려면 어떻게 해야 하는가요? 결론적으로 질문의 제목처럼 저의 지표식에서 NumericSeries 변수값을 어떻게 선언하고, 어떻게 값을 지정해서 SwingHigh 함수로 넘겨주어야 하는건지 궁금합니다. 감사합니다.
프로필 이미지

예스스탁 예스스탁 답변

2024-09-12 18:44:41

안녕하세요 예스스탁입니다. 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으로 전화주시기 바랍니다. 풍성한 한가위 되시길 바랍니다. > 진독립국가 님이 쓴 글입니다. > 제목 : Re : Re : 지표식에서 Swing 함수의 두번째 인자의 전달방법은? > 안녕하세요. 제가 원하는 건 배열처럼 생성한 일련의 데이터(NumericSeries)값을 SwighHigh, SwingLow 함수의 두번째 인자로 넘겨주는 방법에 관한 것이었습니다. 18711번의 글의 아래내용의 예처럼 SwingHigh와 SwingLow 함수를 테스트해보려고 지표식에서 배열에 값들을 담아서 SwingHigh 함수로 넘겨주니 HTS가 다운되더군요. 다시 답변 부탁드립니다.감사합니다. 18711번 글의 예시) swinghigh (O) 100-100-100-101(기준봉)-100-100-100 (X) 100-100-100-100(기준봉)-100-100-100 swinglow (O) 100-100-100-99(기준봉)-100-100-100 (X) 100-100-100-100(기준봉)-100-100-100 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표식에서 Swing 함수의 두번째 인자의 전달방법은? > 안녕하세요 예스스탁입니다. 스윙하이 함수의 기준값은 데이터가 아니라도 함수나 계산식을 지정하셔도 됩니다. 이는 기준값을 지정하는 모든 함수가 동일합니다. 아래 내용 참고하시기 바랍니다. input : left(3),right(3); var : value(0),hh(0); value = ma(C,20); if SwingHigh(1,value,left,right,left+right+1) != -1 Then hh = value[right]; 즐거운 하루되세요 > 진독립국가 님이 쓴 글입니다. > 제목 : 지표식에서 Swing 함수의 두번째 인자의 전달방법은? > https://www.yesstock.com/Board/View.asp?db=board100036&num=171648 위 글을 읽어보니 만약 "SwingHigh(1,h,left,right,left+right+1)"에서 스윙하이 값을 h가 아닌 종가 C나 제가 임의로 지정한 변수로 넣어도 스윙하이 값이 정상 작동하는거죠? --> 예 기준값은 원하시는 값으로 지정하시면 됩니다. https://www.yesstock.com/Board/View.asp?db=board100036&num=18711 의 글의 내용처럼 제가 임의로 지정해서 SwingHigh 함수의 두번째 인자값으로 전달해서 SwingHigh함수를 테스트해보려면 어떻게 해야 하는가요? 결론적으로 질문의 제목처럼 저의 지표식에서 NumericSeries 변수값을 어떻게 선언하고, 어떻게 값을 지정해서 SwingHigh 함수로 넘겨주어야 하는건지 궁금합니다. 감사합니다.