커뮤니티

질문

프로필 이미지
nadogaja
2013-04-25 08:21:49
219
글번호 62476
답변완료
에전에 제가 했던 질문중 오늘 읽어 보고 궁굼해서 질문드립니다. 안녕하세요 예스스탁입니다. var : cnt(0),mindiff(0),N(0); Array : diff[31](0); # 현재가가 이전일 최저가 보다 크면 종가-이전일 최저가 저장 # 아니면 9999999할당 for cnt = 1 to 30 { if C > daylow(cnt) Then diff[cnt] = C-daylow(cnt); Else diff[cnt] = 9999999; } #diff 중 최저값 계산, N일전 저장 mindiff = 9999999; N = -1; //--------------------------------이부분을 왜 -1 값을 넣은 거지요. for cnt = 1 to 30 { if diff[cnt] < mindiff Then{ mindiff = diff[cnt]; N = cnt; } } plot1(daylow(N),"N일전 최저가"); #plot2(N,"N일전"); 즐거운 하루되세요 > nadogaja 님이 쓴 글입니다. > 제목 : 현재가 기준 지난 30 일 일봉저가 중 현재가와 가장 근접한 값 > 안녕하세요.. 항상 많은 도움 받고 있습니다. 선물 챠트 1 분봉 기준입니다. 1. 현재가 기준 지난 30일간(금일 제외) 동안 현재가 보다 작은 daylow 중 현재가 와 가장 가까운 값을 찾아 내는 식 부탁드림니다. . 2.for 구문을 이용해서 표현할수 있다면 좋겠습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-04-25 11:38:13

안녕하세요 예스스탁입니다. 배열변수인 diff에 1번방부터 30번 방 사이의 값 중 최저값을 찾는데 최근 1일전부터 30일전의 일간최저가가 모두 당일 종가보다 크면 diff의 1번방부터 30번방까지 모두 값이 9999999가 됩니다. 그러면 for문에서 최저값을 가지는 봉값이 없으므로 mindiff = 9999999; N = -1; for cnt = 1 to 30 { if diff[cnt] < mindiff Then{ mindiff = diff[cnt]; N = cnt; } } mindiff와 N은 for문 수행전에 설정한 기초값이 리턴됩니다. n의 기초값을 0으로 설정하면 plot1(daylow(0));이 그려지므로 값이 나올수 없는 -1값으로 설정해서 최근 30일간 최저가가 당일 종가보다 모두 크면 plot1(daylow(-1)); 이 되서 값이 나오지 않게 하기 위함입니다. 즐거운 하루되세요 > nadogaja 님이 쓴 글입니다. > 제목 : 질문 > 에전에 제가 했던 질문중 오늘 읽어 보고 궁굼해서 질문드립니다. 안녕하세요 예스스탁입니다. var : cnt(0),mindiff(0),N(0); Array : diff[31](0); # 현재가가 이전일 최저가 보다 크면 종가-이전일 최저가 저장 # 아니면 9999999할당 for cnt = 1 to 30 { if C > daylow(cnt) Then diff[cnt] = C-daylow(cnt); Else diff[cnt] = 9999999; } #diff 중 최저값 계산, N일전 저장 mindiff = 9999999; N = -1; //--------------------------------이부분을 왜 -1 값을 넣은 거지요. for cnt = 1 to 30 { if diff[cnt] < mindiff Then{ mindiff = diff[cnt]; N = cnt; } } plot1(daylow(N),"N일전 최저가"); #plot2(N,"N일전"); 즐거운 하루되세요 > nadogaja 님이 쓴 글입니다. > 제목 : 현재가 기준 지난 30 일 일봉저가 중 현재가와 가장 근접한 값 > 안녕하세요.. 항상 많은 도움 받고 있습니다. 선물 챠트 1 분봉 기준입니다. 1. 현재가 기준 지난 30일간(금일 제외) 동안 현재가 보다 작은 daylow 중 현재가 와 가장 가까운 값을 찾아 내는 식 부탁드림니다. . 2.for 구문을 이용해서 표현할수 있다면 좋겠습니다.