커뮤니티

3년 최고가 최저가

프로필 이미지
모루
2018-01-12 13:51:54
164
글번호 115717
답변완료
현재가가 1년간 최고가와 최저가 사이의 몇퍼센트인가와 현재가가 3년간 최고가와 최저가 사이의 몇퍼센트인가를 구하고 싶습니다. 1분봉에 적용하려고하는데, 적용하련느 종목이 100개가 넘어서, 가급적 부하가 안걸리는 식이 필요합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-01-12 16:18:16

안녕하세요 예스스탁입니다. 수식은 아래와 같습니다. 다만 차트에 지정한 n년간의 값을 계산할 만큼 충분한 데이터가 없으면 그려지지 않습니다. 실시간 차트는 최대 1만개봉만 조회할수 있습니다. 1분봉으로는 대략 25일치 정도뿐이 데이터가 조회되지 않아 현재시점에서는 올해는 계산가능하지만 3년은 불가능합니다. 올해도 영업일로 25일이상 경과되면 계산이 되지 않습니다. 주기를 올리셔서 지정한 년수의 데이터가 모드 나오도록 주기 지정하고 보셔야 합니다. 1. input : N(1); var : cnt(0),nh(0),nl(0); Array : HH[10](0),LL[10](0); if sdate > sdate[1]+1000 Then { Condition1 = true; HH[0] = H; LL[0] = L; } if Condition1 == true then { if H > HH[0] Then HH[0] = H; if L < LL[0] then LL[0] = L; if HH[n-1] > 0 and LL[n-1] > 0 then { nh = HH[0]; nl = LL[0]; for cnt = 0 to N-1 { if HH[cnt] > nh Then nh = HH[cnt]; if LL[cnt] < nl Then nl = LL[cnt]; } var1 = (C-nL)/(nH-nL)*100; plot1(var1); } } 2 input : N(3); var : cnt(0),nh(0),nl(0); Array : HH[10](0),LL[10](0); if sdate > sdate[1]+1000 Then { Condition1 = true; HH[0] = H; LL[0] = L; } if Condition1 == true then { if H > HH[0] Then HH[0] = H; if L < LL[0] then LL[0] = L; if HH[n-1] > 0 and LL[n-1] > 0 then { nh = HH[0]; nl = LL[0]; for cnt = 0 to N-1 { if HH[cnt] > nh Then nh = HH[cnt]; if LL[cnt] < nl Then nl = LL[cnt]; } var1 = (C-nL)/(nH-nL)*100; plot1(var1); } } 즐거운 하루되세요 > 모루 님이 쓴 글입니다. > 제목 : 3년 최고가 최저가 > 현재가가 1년간 최고가와 최저가 사이의 몇퍼센트인가와 현재가가 3년간 최고가와 최저가 사이의 몇퍼센트인가를 구하고 싶습니다. 1분봉에 적용하려고하는데, 적용하련느 종목이 100개가 넘어서, 가급적 부하가 안걸리는 식이 필요합니다.